home *** CD-ROM | disk | FTP | other *** search
/ Netware Super Library / Netware Super Library.iso / mis_util / utility / manuals1.txt < prev    next >
Encoding:
Text File  |  1993-01-14  |  166.0 KB  |  4,765 lines

  1. DOC 1.1 documentation file
  2. -----------------------------------------------------------------------
  3. Please note - this is a plain ASCII text file but it contains multiple
  4. documents each separated by a title line beginning with two @ signs.
  5. You may find it most convenient to view or print this file using the 
  6. DOC.EXE program supplied. 
  7. -----------------------------------------------------------------------
  8. Title1:PC MAGAZINE
  9. Title2:Power Pack Volume 1
  10. Copyright:(C)1993 Ziff-Davis UK Ltd
  11.  
  12. @@Introduction
  13. Introduction
  14. PC Magazine Power Pack                         Volume 1
  15. -------------------------------------------------------
  16.  
  17. Welcome! This disk is one of three making up the
  18. PC Magazine Power Pack, a collection of the top
  19. utilities from the PC Magazine utility library. 
  20.  
  21. Volume 1 features general-purpose utilities and handy
  22. little applications like TRACKR and CARDFILE, along
  23. with utilities to enhance batch files and DOS command
  24. line operation.
  25.  
  26. Program Summary
  27. ---------------
  28.  
  29.   General-purpose programs
  30.   ------------------------
  31.   ADDIT             Pop-up addition program
  32.   CALC              Pop-up programmer's calculator
  33.   CARDFILE          Pop-up address book and dialler
  34.   COMPUTE           Command line calculator
  35.   CONVERT           ASCII, dec, hex & binary converter
  36.   HC                Long precision calculator
  37.   JOURNAL           Pop-up expense account manager
  38.   LOCK & UNLOCK     Encrypt sensitive files
  39.   PARSE             Count words and sentences
  40.   PCREMOTE          Control a remote PC by modem
  41.   PCSORT            General purpose sort utility
  42.   SCHEDULE          Pop-up diary
  43.   TED               Tiny full-screen text editor
  44.   TRACKR            Time recorder and manager
  45.   ZCOPY             PC to PC serial file transfer
  46.  
  47.   Command line utilities
  48.   ----------------------
  49.   ALLKEYS           TSR hotkey controller
  50.   ALIAS             DOS command line editor
  51.   APPBK             Pop-up appointment book
  52.   ASC               Pop-up ASCII chart
  53.   CDX               Enhanced change directory command
  54.   CHANGE            Fast search-and-replace
  55.   DOSCLIP           Cut and paste between programs
  56.   FREEZE            Lock the keyboard 
  57.   INSTALL & REMOVE  Load and unload TSR programs
  58.   NO                Run command on all files but...
  59.   RUN               Run programs from any directory
  60.   SWEEP             Run command in all subdirectories
  61.   WAITASEC          Scroll back DOS display
  62.  
  63.   Batch file utilities
  64.   --------------------
  65.   ALTPAUSE          Pause on Alt key
  66.   ANSIHERE          Test for ANSI.SYS loaded
  67.   BAT2EXEC          Batch file compiler
  68.   BATCHMAN          Multi-function batch file enhancer
  69.   BSAVE & BLOAD     Save and reload screens
  70.   DRAW              Draw pictures in batch files
  71.   PLAY              Play tunes in a batch file
  72.   PUSHDIR & POPDIR  Save and restore current directory
  73.  
  74. The PC Magazine Utility library
  75. -------------------------------
  76. These programs are taken from the library of utility
  77. programs originally written for the US edition
  78. of PC Magazine. More information on these and the other
  79. programs in the library is available on-line in the
  80. ZiffNet forum on the CompuServe Information Service.
  81.  
  82. Where do I go from here?
  83. ------------------------
  84. For more information about installing and running these
  85. programs, see the 'Tech Notes' document. If you're
  86. reading this in the DOC documentation viewer provided,
  87. press the Left arrow key to go back to the document list
  88. on the left and then the down arrow key to highlight
  89. 'Tech Notes'. 
  90.  
  91. It is a good idea too to make sure that you read the
  92. instructions for each program fully before trying
  93. to use it.
  94. @@Tech Notes
  95. Technical Notes
  96. PC Magazine Power Pack
  97. -------------------------------------------------------
  98.  
  99. This document provides additional information on 
  100. setting up and using these utilities and on using the
  101. documentation viewer program.
  102.  
  103. Installing the programs
  104. -----------------------
  105. To install these programs to a hard disk, use the
  106. install program provided (started by typing GO).
  107.  
  108. Note that you can try out or use the programs directly
  109. from the floppy if you don't want to install them onto
  110. your hard disk straightaway. For example, to try the
  111. PRUNE program out, follow steps like these:
  112.  
  113. * Insert the disk containing PRUNE (volume 2)
  114.  
  115. * Enter A: (or B:) at the DOS prompt to log
  116.   onto the disk
  117.  
  118. * Enter PRUNE to run the PRUNE program
  119.  
  120. Installing the programs from DOS
  121. --------------------------------
  122. You can install all of the programs or just selected
  123. ones using the DOS COPY command in the normal way.
  124. For example, to install the FSIZE program, you might:
  125.  
  126. * Insert volume 2, the disk with FSIZE on it
  127.  
  128. * Enter A: (or B: if appropriate) to log onto the
  129.   disk.
  130.  
  131. * Enter COPY FSIZE.COM C:\UTILS to copy the FSIZE 
  132.   program to an existing UTILS directory on your
  133.   hard disk drive C.
  134.  
  135. Most of the programs use their own name for a filename
  136. (for example, the CHKFRAG program is in the file 
  137. CHKFRAG.EXE). The programs will be either .COM or .EXE
  138. type files. Use the DOS DIR command to find out the 
  139. filenames you need for your COPY command.
  140.  
  141. Installing volumes 1, 2 and 3 together
  142. --------------------------------------
  143. You can opt to install all three volumes in the Power
  144. Pack into a single directory on your hard disk so that
  145. all the programs are together. This is a convenient
  146. arrangement and saves disk space. To do this using the
  147. GO program, install each disk in turn but select the
  148. same directory, for example C:\PCMAG, each time.
  149.  
  150. Some files, such as PACKING.LST and DOC.EXE, are 
  151. installed by each volume. When you come to install 
  152. volumes 2 and 3, GO will warn you that these files
  153. already exist as they will have been copied to your
  154. disk when you installed volume 1. You should choose
  155. the 'Skip this file' menu option to continue the
  156. installation.
  157.  
  158. If you do install all three volumes to one directory,
  159. the DOC documentation program will present a menu of
  160. files when you start it with the command DOC. You can
  161. also switch between the manuals for the three disks
  162. by choosing 'Select document file' from the DOC menu.
  163. If you want the instructions for a particular program,
  164. you can still enter DOC followed by a space and the
  165. program name when you start it (for example, DOC ANSI).
  166. DOC will search all three manuals for the right
  167. document and open the correct file. If you know which
  168. file the document is in, you can reduce the search
  169. time by giving its name on the command line too, for
  170. example DOC MANUALS3 ANSI.
  171.  
  172. Running the utilities
  173. ---------------------
  174. These utilities are all individual programs which
  175. should be started or loaded from the DOS prompt as
  176. needed by entering the relevant command (usually the
  177. program name followed by a space and any parameters
  178. that particular program needs). Read the
  179. documentation for a particular program before trying
  180. to use it. This will give a guide to the command
  181. format needed to use the program and in some cases a
  182. few examples to show you how it works.
  183.  
  184. Please note that there is no overall menu or front-
  185. end for the utilities as this isn't really an
  186. appropriate way to use them.
  187.  
  188. In general, the way to run a particular program is to
  189. change to the drive and directory where it is stored
  190. and then enter the relevant command.
  191.  
  192. For example, if you want to run the DIRMATCH program,
  193. and you install these programs to a C:\HOTUTILS 
  194. directory, you might enter:
  195.  
  196.     C:              change to drive C
  197.  
  198.     CD \PCMAG2      change to the volume 2 directory
  199.  
  200.     DIRMATCH        start DIRMATCH 
  201.  
  202. Putting the programs in your DOS command PATH
  203. ---------------------------------------------
  204. You can start DOS programs by either changing to the 
  205. drive and directory they are in and then entering 
  206. the relevant command or, if you have DOS 3.0 or 
  207. later, giving the relevant drive and directory 
  208. before the command name (e.g. enter C:\PCMAG2\PRUNE
  209. to start PRUNE from a PCMAG2 directory on drive C).
  210.  
  211. However, it is most convenient if you place the
  212. programs in your DOS command search path... a directory
  213. that is mentioned in your current PATH command. You
  214. can do this by either:
  215.  
  216. * Adding the directory the program is in to your 
  217.   normal PATH command in AUTOEXEC.BAT. For example, 
  218.   if the PATH command in your AUTOEXEC.BAT file reads
  219.  
  220.   C:\DOS;C:\WINDOWS
  221.  
  222.   and you have installed all the programs to a C:\PCMAG
  223.   directory, you might change it to read
  224.  
  225.   C:\DOS;C:\WINDOWS;C:\PCMAG
  226.  
  227.   You should be careful when making changes to 
  228.   AUTOEXEC.BAT not to disturb other commands already 
  229.   in it. See your DOS manual for full instructions.
  230.  
  231. or
  232.  
  233. * Copying those programs you use often to a directory
  234.   already in your PATH command. Many PCs already have
  235.   a directory called \BIN or \UTILS for small utility
  236.   programs like these. For example, if you have a 
  237.   \BIN directory on drive C and use the HC program
  238.   often, copy it across with a command like this:
  239.  
  240.   COPY C:\PCMAG1\HC.EXE C:\BIN
  241.  
  242. Loading programs from AUTOEXEC.BAT
  243. ----------------------------------
  244. Some of these utilities are designed to be loaded or
  245. run whenever your PC is working by placing the
  246. relevant command in the AUTOEXEC.BAT startup file. 
  247.  
  248. Please bear in mind:
  249.  
  250. * The program file must be available for AUTOEXEC.BAT
  251.   to load it. If it is not in a directory already
  252.   named in a PATH command earlier in AUTOEXEC.BAT,
  253.   you must give the drive and directory where it is
  254.   stored (e.g. C:\PCMAG1\ADDIT) or copy the file
  255.   to the root directory of the hard disk.
  256.  
  257. * The order in which resident programs are loaded can
  258.   be significant. If there appears to be a conflict,
  259.   try re-ordering the lines in AUTOEXEC.BAT.
  260.  
  261. * Always keep a startup floppy to hand and a back-up
  262.   copy of your AUTOEXEC.BAT file so that if problems
  263.   arise you can restore things to normal.
  264.  
  265. Using TSR (memory-resident) programs
  266. ------------------------------------
  267. Some of these utilities are 'TSRs' or memory-resident
  268. programs. These load into memory when first started
  269. and remain there, either operating invisibly or 
  270. waiting to be called up.
  271.  
  272. TSR programs are very popular and those on this disk
  273. are carefully written and fully tested. However, the
  274. design of DOS means that there is always a chance of
  275. conflict between different TSR programs or between a
  276. TSR and your main software. 
  277.  
  278. To avoid problems, please note:
  279.  
  280. 1. You should carefully test any new TSR program
  281.    on your system before using it while doing 
  282.    your normal work.
  283.  
  284. 2. Each TSR uses up memory. If you load too many
  285.    at once, your normal software may not be 
  286.    able to run.
  287.  
  288. 3. If you discover a conflict, loading the TSRs
  289.    in a different order may resolve it.
  290.  
  291. 4. You can sometimes change the 'hotkey' used to 
  292.    call up a TSR to avoid a conflict with keys used
  293.    by your other programs.
  294.  
  295. PACKING.LST file
  296. ----------------
  297. A complete index of all the files on all three
  298. volumes is provided in a text file called
  299. PACKING.LST. This is arranged with details of one
  300. file per line so that it easy to search using a
  301. program such as the DOS FIND command. Use this
  302. file to help you locate particular programs or
  303. to identify the contents of various files.
  304.  
  305. Viewing and printing the documentation
  306. --------------------------------------
  307. A simple on-disk documentation viewer and printer
  308. is provided in the program file DOC.EXE. The 
  309. documents for this are stored in the files 
  310. MANUALS1.TXT, MANUALS2.TXT and MANUALS3.TXT, one
  311. for each volume.
  312.  
  313. You can start DOC by changing to the disk and 
  314. directory containing it and entering DOC.
  315.  
  316. DOC command line
  317. ----------------
  318. The easiest way to start DOC is just with the command
  319. DOC. However, you can add either the name of a 
  320. particular documentation file or of a particular 
  321. document to the command. For example, 
  322.  
  323.     DOC MANUALS3         Starts DOC with MANUALS3.TXT
  324.                          loaded. This form is only
  325.                          needed if you have more than
  326.                          one document file in the
  327.                          current directory and want
  328.                          to load a particular one
  329.                          straightaway.
  330.  
  331.     DOC CALC             Starts DOC with the
  332.                          instructions for CALC
  333.                          selected. It may take a 
  334.                          moment or two for DOC to
  335.                          locate the relevant document.
  336.  
  337.     DOC MANUALS3 BROWSE  Stars DOC with the MANUALS3
  338.                          file, open at the instructions
  339.                          for BROWSE.
  340.  
  341. Running DOC
  342. -----------
  343. DOC displays a list of available documents down the
  344. left side of the screen and shows the text of the
  345. currently selected document on the right. 
  346.  
  347. To select documents, use the up and down arrow keys to
  348. move through the list on the left. Typing the initial
  349. letters of a document name will jump directly to the
  350. next matching document. Once you've found the document
  351. you want, press TAB or the right arrow key to move
  352. to the text of the document on the right. The cursor
  353. keys (Home, End, Up, Down, PgUp, PgDn) will now move
  354. through the text. Press the left arrow or TAB key 
  355. again to go back to select other documents.
  356.  
  357. The DOC menu
  358. ------------
  359. To call up DOC's menu, press the ESC key. DOC 
  360. presents various options which you can select with
  361. the cursor and Return keys or by pressing one of
  362. the highlighted letters. The options will vary 
  363. depending on your PC's configuration and the 
  364. document files available.
  365.  
  366. Pressing ESC a second time cancels the menu.
  367.  
  368. Quitting DOC
  369. ------------
  370. Choose the Quit option from the menu to leave
  371. the DOC program and return to DOS.
  372.  
  373. Colour display off
  374. ------------------
  375. Choose Colour display off from the menu to ask
  376. DOC to work in black-and-white. You may wish to
  377. do this if you're using a laptop with an LCD screen
  378. that doesn't show colours well or with some greyscale
  379. or CGA composite video monitors. 
  380.  
  381. This menu option does not appear on PCs that do not
  382. have a colour capability.
  383.  
  384. Extended screen on
  385. ------------------
  386. Choosing this menu option switches the display to
  387. 43 or 50 lines so that you can see more text without
  388. scrolling. You can go back to the normal display by
  389. choosing Extended screen off subsequently.
  390.  
  391. This menu option is only available on EGA or VGA
  392. equipped PCs.
  393.  
  394. If you have a Super VGA display card and a program
  395. to set extended text modes, such as 60 lines deep,
  396. you might like to try setting an appropriate mode 
  397. before starting DOC... the program will operate 
  398. correctly with many non-standard Super VGA formats.
  399.  
  400. Fast screen on
  401. --------------
  402. This menu option only appears on PCs fitted with CGA
  403. or equivalent displays. Normally the DOC program
  404. deliberately slows down on this type of display to
  405. prevent the screen flicker or 'snow' that some CGA 
  406. displays can suffer from. If your system does not 
  407. suffer from snow, choose 'Fast screen on' for a 
  408. faster screen display. There's no harm in trying 
  409. this option either way on your PC... snow does no 
  410. harm and you might prefer to have a fast display 
  411. that flickers to a slow one that doesn't.
  412.  
  413. Print Document
  414. --------------
  415. Choose this menu option to print the currently selected
  416. document. A menu appears from where you can make four 
  417. print settings, choose Go to start printing or Cancel 
  418. to return to viewing documents. You may need to alter 
  419. the settings to suit your system before choosing Go 
  420. as follows: 
  421.  
  422. 1. Output port
  423.  
  424.    This is the printer interface that DOC should print 
  425.    the document to. By pressing O you can step through 
  426.    the ports fitted to your computer. The default LPT1, 
  427.    the first parallel printer port, is correct for 
  428.    most PCs. DOC can work with a serial printer (COM1 
  429.    or COM2) if you have one but you must make sure that 
  430.    the port is correctly set up (e.g. with a command
  431.    such as MODE COM1:9600,n,8,1,p) BEFORE running DOC. 
  432.    X-On/X-Off handshaking is automatically provided 
  433.    for serial printers.
  434.  
  435.    You can set the output port to "FILE". In this case, 
  436.    DOC will ask for the name of a disk file when you 
  437.    start printing and will then print to disk rather 
  438.    than to a printer. If the file you name already 
  439.    exists, DOC will append pages to it.
  440.  
  441.    DOC does not support PostScript printers. If you
  442.    have one of these, you might like to use the print
  443.    to FILE option and then use a PostScript conversion
  444.    program or word processor to print the resulting
  445.    file.
  446.  
  447. 2. Lines per page
  448.  
  449.    This is the number of printable lines on each page 
  450.    on your printer. DOC will print with this set 
  451.    incorrectly but will not be able to put page breaks 
  452.    and headers in the right place. The default is 70 
  453.    lines for A4 fan-fold paper at 6 lines per inch, 
  454.    typical of many dot-matrix printers. Other common
  455.    values are 64, 66 and 72.
  456.  
  457.    If you have difficulty with this setting, a 
  458.    workaround is to set the form-length correctly on 
  459.    your printer, enter a small number of lines per 
  460.    page (e.g. 60) and then select the "Use form-feeds" 
  461.    option.
  462.  
  463. 3. Use form-feeds
  464.  
  465.    Set this option to Yes if you're using a LaserJet-
  466.    style printer or any printer with the form-length 
  467.    set correctly. DOC will work with this option set 
  468.    to No by counting output lines but this is slower.
  469.  
  470. 4. Pause between pages
  471.  
  472.    Set this option to Yes if you're feeding single-
  473.    sheets to the printer... DOC will pause for you 
  474.    to get the next sheet ready between each page. 
  475.  
  476. Select document file
  477. --------------------
  478. This menu option only appears if you have more than
  479. one DOC documentation file in the current directory
  480. when you start DOC, for example if you install all
  481. three volumes to the same directory on your hard
  482. disk. Using this option, you can switch from one 
  483. file to another without leaving DOC.
  484.  
  485. Using document files without DOC
  486. --------------------------------
  487. The DOC document files can be accessed by 
  488. programs other than DOC though this may not be as
  489. convenient. They are plain ASCII text files, with a
  490. line-feed/carriage return pair at the end of every
  491. line so they can be viewed with normal DOS commands
  492. such as TYPE MANUALS1.TXT | MORE or 
  493. COPY MANUALS1.TXT PRN, text editor programs or 
  494. other file viewers and browsers.
  495.  
  496. The only unusual aspect is that the file contains
  497. multiple documents separated by lines beginning with
  498. two @ signs and a title for that particular document.
  499. DOC uses these to provide its list of available 
  500. documents. If you're using the files outside of DOC, 
  501. you may wish to break them up at these lines.
  502.  
  503. Customising the utilities
  504. -------------------------
  505. Some of these utilities are compact assembly language
  506. .COM programs to make them small, fast and efficient.
  507. This means that some of the programs do not include
  508. built-in configuration options.
  509.  
  510. However, if you're experienced with DEBUG, you can
  511. 'patch' the programs to customise their operation.
  512. The manual for each program will describe the ways
  513. in which it can be customised but typically you 
  514. can do so to:
  515.  
  516. *  Customise the screen colours the program uses
  517.    (if the display is hard to read on your screen).
  518.  
  519. *  Change the 'Hotkey' used by one of the TSR 
  520.    programs to avoid a conflict with your other
  521.    software.
  522.  
  523. *  Change defaults such as sorting order, size of
  524.    records and so on.
  525.  
  526. To customise a utility, follow this general procedure
  527. in conjunction with the manual for the program. (You 
  528. SHOULD NOT ATTEMPT this if you are not confident about
  529. using DEBUG as a mistake may stop the program from
  530. working or even crash your PC.)
  531.  
  532. 1. Always MAKE A COPY of the .COM file for the program
  533.    in question as a back-up. For example, assuming you
  534.    were patching a program called POP-CAL.COM, you 
  535.    might enter:
  536.  
  537.    COPY POP-CAL.COM ORIGCAL.COM
  538.  
  539. 2. Start DEBUG with the name of the program to modify. 
  540.    You must have the DOS DEBUG program available for 
  541.    this to work. For example, enter
  542.  
  543.    DEBUG POP-CAL.COM
  544.  
  545.    DEBUG loads the file and presents a - prompt.
  546.  
  547. 3. Use the DEBUG E command to modify the areas of
  548.    the program as described in its documentation.
  549.  
  550.    For example, assume the hotkey for POP-CAL can be
  551.    changed by entering a new keyboard scan code at
  552.    location 174. If we wanted to use Alt-P rather
  553.    than Alt-C we can see from the scan code (SS) table 
  554.    below that we need to change this to code 19. 
  555.  
  556.    This can then be entered in DEBUG with:
  557.  
  558.    E174 19
  559.  
  560. 4. After making all the necessary changes, save the
  561.    file back onto disk with the W command. Enter
  562.  
  563.    W
  564.  
  565. 5. Now leave DEBUG. Enter
  566.  
  567.    Q
  568.  
  569. 6. Now load and test out the new program. If it no
  570.    longer works, delete it, restore your back-up
  571.    copy (e.g. COPY ORIGCAL.COM POP-CAL.COM) 
  572.    and then try again.
  573.  
  574. The tables below list the values necessary for
  575. customising colours and hotkeys.
  576.  
  577.              Keyboard scan codes 
  578.              for alternative hotkeys
  579.              (Values for SS)
  580.              -----------------------
  581.  
  582.          Scan                    Scan
  583. Key      Code (hex)    Key       Code (hex)
  584. -------- ----------    --------- ----------    
  585. Esc       01           Z          2C
  586. 1 !       02           X          2D
  587. @ 2       03           C          2E
  588. # 3       04           V          2F
  589. $ 4       05           B          30
  590. % 5       06           N          31
  591. ^ 6       07           M          32
  592. & 7       08           < ,        33
  593. * 8       09           > .        34
  594. ( 9       0A           ? /        35
  595. ) 0       0B           R Shift    36
  596. _ -       0C           PrtSc *    37
  597. + =       0D           Alt        38
  598. Bkspace   0E           Spacebar   39
  599. Tab       0F           CapsLk     3A
  600. Q         10           F1         3B
  601. W         11           F2         3C
  602. E         12           F3         3D
  603. R         13           F4         3E
  604. T         14           F5         3F
  605. Y         15           F6         40
  606. U         16           F7         41
  607. I         17           F8         42
  608. O         18           F9         43
  609. P         19           F10        44
  610. { [       1A           NumLock    45
  611. } ]       1B           ScrlLk     46
  612. Enter     1C           7 Home     47
  613. Ctrl      1D           8 UpArr    48
  614. A         1E           9 PgUp     49
  615. S         1F           -          4A
  616. D         20           4 LArrow   4B
  617. F         21           5          4C
  618. G         22           6 RArrow   4D
  619. H         23           +          4E
  620. J         24           1 End      4F
  621. K         25           2 DnArr    50
  622. L         26           3 PgDn     51
  623. : ;       27           0 Ins      52
  624. " '       28           . Del      53
  625. `         29           SysReq     54
  626. L Shift   2A           F11        57
  627. | \       2B           F12        58
  628.  
  629.              Shift Mask codes
  630.              for alternative hotkeys
  631.              (Values for MM)
  632.              -----------------------
  633.  
  634.     Value  Alt  Ctrl  L-Shift  R-Shift
  635.     -----  ---  ----  -------  -------
  636.       0
  637.       1                           X
  638.       2                  X
  639.       3                  X        X
  640.       4           X
  641.       5           X               X
  642.       6           X      X
  643.       7           X      X        X
  644.       8     X
  645.       9     X                     X
  646.       A     X            X
  647.       B     X            X        X
  648.       C     X     X
  649.       D     X     X               X
  650.       E     X     X      X
  651.       F     X     X      X        X 
  652.  
  653. X signifies that this key must pressed. For example,
  654. to use Left Shift and Right Shift for the hotkey, 
  655. the value to use for MM would be 3.
  656.  
  657.              Colour values
  658.              ---------------
  659.              Black     0     
  660.              Blue      1     
  661.              Green     2     
  662.              Cyan      3     
  663.              Red       4     
  664.              Magenta   5     
  665.              Brown     6     
  666.              Lt Gray   7     
  667.              Dark Gray 8
  668.              Lt Blue   9
  669.              Lt Green  A
  670.              Lt Cyan   B
  671.              Orange    C
  672.              Violet    D
  673.              Yellow    E
  674.              White     F
  675.  
  676. A full colour value is two hex digits, the first
  677. for the background colour and the second for the 
  678. foreground. For example, bright white on a dark
  679. blue background is 1F. Do not choose light colours
  680. (values larger than 7) for the background as it 
  681. will produce a blinking display in most of the
  682. programs.
  683. @@ADDIT
  684. ADDIT                                    Douglas Boling
  685. Pop-up addition program                     Version 1.1
  686. -------------------------------------------------------
  687.  
  688. Purpose
  689. -------
  690. ADDIT.COM is a small TSR (3.5K) that adds negative &
  691. positive numbers on your screen. You simply block the
  692. on-screen area that contains the relevant numbers, hit
  693. the Plus key, and then you can paste the displayed
  694. total either into the same or another file.
  695.  
  696. Format
  697. ------
  698.  
  699.     ADDIT [/U] [/B]
  700.  
  701. then
  702.  
  703.     <Alt>-<Left Shift>
  704.  
  705. Remarks
  706. -------
  707. When entered on the DOS command line or as a line in
  708. your AUTOEXEC.BAT file, ADDIT installs itself in
  709. memory and waits for you to call upon its services.
  710. The /U switch lets you uninstall the program, freeing
  711. any memory it used. The only restriction on unloading
  712. is that if any additional TSRs were loaded after
  713. ADDIT, they must be removed before uninstalling ADDIT.
  714.  
  715. Use the /B parameter, and ADDIT will use the video
  716. BIOS calls instead of writing directly to video
  717. memory. While this is much slower than directly
  718. writing to video memory, it can come in handy if you
  719. have a non-standard video board. If ADDIT wrote
  720. directly to the display memory of an incompatible
  721. adapter, you would see garbage on the screen or your
  722. machine might even lock up.
  723.  
  724. The default hotkey to activate ADDIT is Alt-<Left
  725. Shift>. The F1 key brings up a help screen. When
  726. you're done with ADDIT, press the Esc key and ADDIT
  727. will return to the background to wait for the next
  728. time it's needed.
  729.  
  730. When you pop it up, ADDIT presents a one-line banner
  731. across the top of the screen and puts its own block
  732. cursor at the spot your program cursor occupied. The
  733. usual arrow keys move the ADDIT cursor, with the Home
  734. and End keys taking it to the beginning and end of the
  735. line. The PgUp and PgDn keys take you to the top and
  736. bottom of the screen. To block (or highlight) an area
  737. on screen, hold down the Shift key while moving the
  738. cursor. Since you will normally want to highlight a
  739. number of whole rows, the easiest technique is to go
  740. to the top line to be marked and hit the End key.
  741. Then, while holding down the Shift key, hit the Down
  742. Arrow key as many times as required. The section will
  743. then be highlighted. After releasing the Shift key, any
  744. subsequent cursor movement will unblock the
  745. highlighted area.
  746.  
  747. To sum the numbers contained in the blocked-off area,
  748. simply hit the Plus key. (Either the Plus key on the
  749. numeric keypad or on the regular keyboard will do.)
  750. ADDIT can handle numbers with up to ten decimal
  751. places. The total will be displayed in the ADDIT banner
  752. and will be stored in a buffer so you can subsequently
  753. paste it anywhere. Positive numbers in the
  754. highlighted area will show up on colour screens in
  755. yellow (by default); negative numbers (those preceded
  756. by a minus sign) will be displayed in red (by
  757. default). This allows you to check that all of the
  758. numbers you want (and only the ones you want) included
  759. have been added.
  760.  
  761. Note that if a dash (that is, the minus sign)
  762. occurs between two numbers, the second number will be
  763. considered negative. But if a dash is the last
  764. character on the line and a number begins the
  765. succeeding line, the hidden end-of-line marker
  766. inserted by some word processors can fool ADDIT into
  767. thinking that the number following is positive. Its
  768. colour will be your clue.
  769.  
  770. Hitting the P key while ADDIT is active will paste the
  771. displayed sum at the cursor location. ADDIT then
  772. automatically exits but it continues to remember the
  773. total in its buffer. Thus, you can paste the same sum
  774. into several places or documents. If the point where
  775. you want to put the result is on a different
  776. screen--or in a different document, perhaps requiring
  777. you to exit your application and start up another--you
  778. first exit ADDIT by hitting the Esc key. Then find the
  779. insertion spot you want, bring up ADDIT again by
  780. pressing Alt-<Left Shift>, and hit P. You can clear
  781. the banner and buffer at any time by starting to
  782. highlight a new area.
  783.  
  784. Douglas Boling is a contributing editor of PC Magazine.
  785.  
  786. History
  787. -------
  788. Version 1.0    Initial Release
  789. Version 1.1    Bug Fix
  790. @@ALIAS
  791. ALIAS                   Douglas Boling and Jeff Prosise
  792. DOS command editing, recall and aliasing    Version 1.1
  793. -------------------------------------------------------
  794.  
  795. Purpose
  796. -------
  797. A TSR utility that enables DOS command-line editing
  798. and recall of previously issued commands and that
  799. permits assignment of long commands and environment
  800. strings to short synonyms ("aliases") or function
  801. keys.
  802.  
  803. Format
  804. ------
  805.  
  806.     ALIAS [?][/U][/D][/E][/L][/F [d:][path]filename]
  807.           [/Bnn][/M nn][/S nn][alias [command]]
  808.  
  809. Remarks
  810. -------
  811. When loaded without any of its optional switches,
  812. ALIAS reserves a buffer size of 512 bytes for
  813. user-entered alias strings and a command stack that
  814. permits recalling the last 16 commands issued. These
  815. defaults (/B 512 and /S 16) can only be changed at
  816. load time. At this time, too, the /F switch can be
  817. used with a filename  (plus drive and path) containing
  818. regularly used aliases (see Note).
  819.  
  820. Previously issued commands can be recalled to the
  821. command line with the Up and Down Arrow keys. When
  822. many commands are stacked, typing a few initial
  823. letters before hitting the recall key will speed
  824. retrieval by skipping commands that do not match the
  825. typed pattern. Use the optional /M nn switch, where
  826. nn is a number, to set a minimum length of command
  827. strings to be stacked. The default, /M 1, remembers
  828. all commands.
  829.  
  830. Whether recalled or newly typed, command-line entries
  831. can be edited when ALIAS is loaded. The Left and
  832. Right Arrow keys move the cursor by character;
  833. Ctrl-Left and Ctrl-Right move by word; and Home and
  834. End go to the line ends. The Del and Backspace keys
  835. delete characters; Ctrl-Backspace deletes the word at
  836. the cursor; and Ctrl-End deletes to the end of the
  837. line. Pressing Esc clears the command line and
  838. returns to the bottom of the command stack. The Ins
  839. key toggles between overstrike (the default) and
  840. insert mode for character entry on the command line.
  841.  
  842. The command ALIAS alias [command] is used to define an
  843. alias or command synonym. The alias variable may be
  844. any one-word alphanumeric string; the command
  845. variable  may contain multiple words and must end with
  846. a carriage return. Defining an alias but omitting the
  847. command variable removes a previous alias assignment.
  848. Function keys and their Alt-, Shift-, and Ctrl-
  849. combinations may be used in place of alias by being
  850. designated thus: [Fn], [AFn], [SFn], [CFn], with 1 to
  851. 10 as the values of n. An asterisk after the close
  852. bracket (for example, [F1]*) causes immediate
  853. command-string execution when the function key is
  854. pressed; otherwise, Enter must also be pressed. The
  855. command variable may include replaceable command-line
  856. parameters, (for example, %1), as in batch files.
  857. Environment strings, such as the PATH string, may be
  858. used in the command variable by being placed between
  859. a pair of % signs.
  860.  
  861. A list of active aliases can be obtained at any time
  862. by entering ALIAS with its /L switch. Alias
  863. processing can be temporarily disabled with the /D
  864. switch and reenabled with the /E switch. ALIAS ?
  865. brings up a help screen. The /U switch uninstalls
  866. ALIAS from memory, when possible.
  867.  
  868. Note
  869. ----
  870. A plain ASCII file containing regular user-defined
  871. aliases may be installed with the /F switch when ALIAS
  872. is loaded, as, for example, ALIAS /F C:\BIN\MYALIAS.TXT
  873. This file may be up to 32K and may also contain ALIAS
  874. optional switches. Note that // and /* may be used to
  875. add comments on the remainder of a line and that blank
  876. lines are not processed.
  877. @@ALLKEYS
  878. ALLKEYS                                Robert L. Morton
  879. TSR hot-key controller                Version 1.0
  880. -------------------------------------------------------
  881.  
  882. Purpose
  883. -------
  884. Alternately disables and enables the hotkeys used by
  885. pop-up utilities so these key combinations can still
  886. be used by applications programs.
  887.  
  888. Format
  889. ------
  890.  
  891.     ALLKEYS
  892.     POP-UP #1
  893.     POP-UP #2
  894.     POP-UP #3
  895.     ...
  896.     ALLKEYS
  897.  
  898. or
  899.  
  900.     ALLKEYS [/U]
  901.  
  902. Remarks
  903. -------
  904. ALLKEYS must be loaded twice, once immediately before
  905. and once immediately after loading the series of
  906. memory-resident (TSR) utilities whose hotkeys are to
  907. be controlled. Normally, this is done by making the
  908. appropriate entries in an AUTOEXEC.BAT file. After
  909. the second loading of ALLKEYS, the operation of the
  910. TSR programs in the controlled group is initially
  911. unaffected. Pressing Ctrl-Alt-Z, however, disables
  912. these pop-up programs by passing their trigger keys to
  913. an applications program instead. Pressing Ctrl-Alt-Z
  914. a second time re-enables operation of the controlled
  915. memory-resident pop-ups.
  916.  
  917. ALLKEYS may be completely uninstalled by
  918. entering the command with the /U parameter.
  919. This might be used from the DOS prompt to
  920. change the set of pop-ups controlled by
  921. ALLKEYS. If TSRs, e.g. SideKick, have been
  922. loaded after ALLKEYS, complete deinstallation
  923. is not possible, but the /U parameter will
  924. still disable ALLKEYS' operation.
  925.  
  926. When ALLKEYS is activated with Ctrl-Alt-Z, a
  927. series of beeps with a rising pitch is heard.
  928. A descending sequence of tones sounds when
  929. ALLKEYS is toggled off. Using the values for
  930. SS and MM shown in the Scan Code and Shift
  931. Mask charts at the end of this manual, the
  932. default hotkey for ALLKEYS can be changed
  933. with DEBUG, as shown below:
  934.  
  935.      DEBUG ALLKEYS.COM
  936.      E 243 SS           ;Scan code
  937.      E 244 MM           ;Shift mask
  938.      W
  939.      Q
  940. @@ALTPAUSE
  941. ALTPAUSE
  942. Provides a pause key for batch files        Version 1.0
  943. -------------------------------------------------------
  944.  
  945. Purpose
  946. -------
  947. ALTPAUSE allows a batch file to pause at a certain
  948. point only if the Alt key is held down. You can also
  949. use ALTPAUSE to give the user a way to alter the
  950. normal operation of a batch file.
  951.  
  952. Format
  953. ------
  954.  
  955.     ALTPAUSE
  956.  
  957. Remarks
  958. -------
  959. On fast machines with fast hard disks batch files can
  960. fly by without giving you a chance to read messages or
  961. make choices.
  962.  
  963. By inserting ALTPAUSE at key locations you can
  964. optionally pause batch file operation by pressing the
  965. Alt key. Operation will remain suspended until the
  966. key is released.
  967.  
  968. If you ran the following TESTPAUS.BAT batch file:
  969.  
  970.     @ECHO OFF
  971.     REM This is TESTPAUS.BAT
  972.     ECHO This line goes by quickly
  973.     ALTPAUSE
  974.     ECHO This line goes by quickly
  975.     ALTPAUSE
  976.     ECHO This line goes by quickly
  977.  
  978. (or a longer version of it) without pressing any keys,
  979. the batch file would simply print several "This line
  980. goes by quickly" lines. But if you ran it and pressed
  981. the Alt key, it would pause in midstream.
  982.  
  983. ALTPAUSE also generates an exit code of 1 that can be
  984. read by the DOS ERRORLEVEL command and used to branch
  985. to a particular place in the batch file if the Alt key
  986. is pressed. For example, an AUTOEXEC.BAT file might
  987. normally start Microsoft Windows when the machine is
  988. started up. You could give the user the opportunity
  989. to go to the DOS prompt like this:
  990.  
  991.   @ECHO OFF
  992.   CLS
  993.   ECHO Hold and then release ALT key for DOS prompt
  994.   ECHO instead of Windows...
  995.   ...
  996.   normal instructions in AUTOEXEC.BAT
  997.   ...
  998.   ALTPAUSE
  999.   IF ERRORLEVEL 1 GOTO STOP
  1000.   WIN
  1001.   :STOP
  1002. @@ANSIHERE
  1003. ANSIHERE
  1004. Test for ANSI.SYS                    Version 1.0
  1005. -------------------------------------------------------
  1006.  
  1007. Purpose
  1008. -------
  1009. Quickly identifies whether or not ANSI.SYS is loaded
  1010. from the command prompt or in a batch file.
  1011.  
  1012. Format
  1013. ------
  1014.  
  1015.     ANSIHERE
  1016.  
  1017. Some programs use ANSI.SYS to redefine keys or set
  1018. screen colours. The DOS MODE command uses it to set
  1019. the number of lines on-screen.
  1020.  
  1021. You can tell whether ANSI.SYS is loaded by examining
  1022. your CONFIG.SYS file, but ANSIHERE is easier. And, if
  1023. used in a batch file, it sets an exit code of 1 that
  1024. the DOS ERRORLEVEL command can read. This way your
  1025. batch files can execute ANSI instructions only if ANSI
  1026. happens to be loaded.
  1027. @@APPBK
  1028. APPBK                                Michael J. Mefford
  1029. Pop-up appointment reminder                Version 1.0
  1030. -------------------------------------------------------
  1031.  
  1032. Purpose
  1033. -------
  1034. Reminds you of appointments at the times you specify;
  1035. provides additional optional hourly chime and
  1036. continuous on-screen date/time display.
  1037.  
  1038. Format
  1039. ------
  1040.  
  1041.     APPBK
  1042.  
  1043. or
  1044.  
  1045.     APPBK [f,][b,][s,][h,][a]
  1046.  
  1047.  
  1048. Remarks
  1049. -------
  1050. APPBK is a memory-resident utility that is normally
  1051. loaded through your AUTOEXEC.BAT file. It must be
  1052. loaded after any system time/date setting routines,
  1053. and before loading SideKick (if used).
  1054.  
  1055. Pressing Alt-R opens the on-screen APPBK window, in
  1056. which you enter your appointments. Enter times as
  1057. 2:00, not 02:00, and include the A or P before the M
  1058. in the window. You can edit your appointment list
  1059. using the F-1 and F-3 keys, by overstriking letters,
  1060. and with the deleting backspace key. F-2 toggles an
  1061. hourly chime on and off; F-4 similarly toggles a
  1062. continuous on-screen display of the time and date.
  1063.  
  1064. An alarm will sound at the appointment times
  1065. specified. Additionally, should you be away from your
  1066. desk and not hear the reminder, your first keystroke
  1067. following the alarm will pop up the APPBK window. To
  1068. close the window, press Esc or the Alt-R (default)
  1069. APPBK trigger key.
  1070.  
  1071. At the time it is loaded, APPBK may be given
  1072. alternative parameters for its colour (f), border
  1073. colour (b), trigger-key scan code (s), hourly chime
  1074. frequency (h), and alarm frequency (a). The default
  1075. values are 7,112,19,2217,2960. Tables of acceptable 
  1076. alternative parameter values are give below. In 
  1077. entering parameters, separate each with a comma. 
  1078. Commas alone may be used for initial parameters you do
  1079. not wish to change.
  1080.  
  1081. Example
  1082. -------
  1083.  
  1084.     APPBK ,,,1760
  1085.  
  1086. would change only the frequency (tone) of the
  1087. hourly chime (the h parameter).
  1088.  
  1089. Parameter Tables
  1090. ----------------
  1091.  
  1092. COLOUR CODES (f and b parameters)
  1093.  
  1094. Colour Adapter
  1095. --------------
  1096. fore-   back-            fore-
  1097. ground  ground  colour   ground  colour
  1098.   0       0     Black      8     Gray
  1099.   1      16     Blue       9     Light Blue
  1100.   2      32     Green     10     Light Green
  1101.   3      48     Cyan      11     Light Cyan
  1102.   4      64     Red       12     Light Red
  1103.   5      80     Magenta   13     Light Magenta
  1104.   6      96     Brown     14     Yellow
  1105.   7     112     White     15     Bright White
  1106.  
  1107. Monochrome Adapter
  1108. ------------------
  1109. fore-   back-
  1110. ground  ground  colour
  1111.   0       0     Black
  1112.   7     112     White
  1113.  15      NA     Bright White
  1114.  
  1115.  
  1116. Add foreground colour to the background colour to
  1117. arrive at parameter number. For example, blue letters
  1118. on cyan (light blue) would be 48 + 1 = 49.
  1119.  
  1120. Defaults are 7 (white on black) for the datebook field
  1121. (foreground) and 112 (black on white) for the frame
  1122. (border).
  1123.  
  1124. SCAN CODES FOR ALT-KEY COMBINATIONS (s parameter)
  1125. Code Key   Code Key   Code Key   Code  Key
  1126.  16   Q     30   A     44   Z     120   1
  1127.  17   W     31   S     45   X     121   2
  1128.  18   E     32   D     46   C     122   3
  1129.  19   R     33   F     47   V     123   4
  1130.  20   T     34   G     48   B     124   5
  1131.  21   Y     35   H     49   N     125   6
  1132.  22   U     36   J     50   M     126   7
  1133.  23   I     37   K                127   8
  1134.  24   O     38   L                128   9
  1135.  25   P                           129   0
  1136.                                   130   -
  1137. Default is 19 (Alt R)             131   =
  1138.  
  1139. TONE/FREQUENCY (h and a parameters)
  1140. A    55  110  220  440   880  1760  3520   1740  14080
  1141. A#   58  117  233  466   932  1857  3714   7428  14856
  1142. B    62  123  247  494   988  1976  3952   7904  15808
  1143. C    65  131  262  523  1046  2093  4186   8372  16744
  1144. C#   69  139  277  554  1109  2217  4434   8868  17736
  1145. D    74  149  294  587  1175  2349  4698   9396  18792
  1146. D#   78  156  311  622  1245  2489  4978   9956  19912
  1147. E    82  165  330  659  1319  2637  5274  10548  21096
  1148. F    87  175  349  698  1397  2794  5588  11176  22352
  1149. F#   93  185  370  740  1480  2960  5920  11840  23680
  1150. G    98  196  392  784  1568  3136  6272  12544  25088
  1151. G#  104  208  415  831  1661  3322  6644  13288  26576
  1152.  
  1153. Middle C is 262. The defaults are 2217 (C#) for the
  1154. hourly chime and 2960 (F#) for the alarm chime.
  1155.  
  1156. Note
  1157. ----
  1158. 1. While APPBK is compatible with most applications
  1159.    programs and resident utilities, complete
  1160.    compatibility cannot be assured. It cannot, for
  1161.    example, be  used with XyWrite.
  1162. @@ASC
  1163. ASC                                        Jeff Prosise
  1164. Pop-up ASCII Chart                    Version 1.0
  1165. -------------------------------------------------------
  1166.  
  1167. Purpose
  1168. -------
  1169. Provides a pop-up ASCII chart showing decimal,
  1170. hexadecimal, and character equivalents for the full IBM
  1171. character set.
  1172.  
  1173. Format
  1174. ------
  1175.  
  1176.     ASC
  1177.  
  1178. Remarks
  1179. -------
  1180. ASC is a memory-resident utility that is normally
  1181. loaded at boot-up, via your AUTOEXEC.BAT file. Once
  1182. loaded, pressing Alt-A pops up the first page (32 ASCII
  1183. codes) of the display window over any currently active
  1184. applications program. The Up- and Down-Arrow, PgUp and
  1185. PgDn, and Home and End keys access the remaining ASCII
  1186. display pages. Pressing Esc closes the window,
  1187. restoring the original screen display.
  1188.  
  1189. In operation, ASC requires approximately 2.5K of RAM.
  1190. It is compatible with most applications and TSR
  1191. (terminate and stay resident) programs that do not
  1192. themselves require the Alt-A key combination.
  1193.  
  1194. Notes
  1195. -----
  1196. 1. Users familiar with using DEBUG can modify the
  1197.    default border, text, and header colours of ASC.
  1198.    These values, initially 0Fh, 1Fh, and 1Eh,
  1199.    respectively, are located at offsets 014D through
  1200.    014F in the .COM file. For use with a composite
  1201.    monochrome display, the values 70h, 07h, and
  1202.    07h are suggested.
  1203. @@BAT2EXEC
  1204. BAT2EXEC                                 Douglas Boling
  1205. Batch file compiler                         Version 1.5
  1206. -------------------------------------------------------
  1207.  
  1208. Purpose
  1209. -------
  1210. BAT2EXEC compiles your batch files to .COM files for
  1211. added speed. Large batch files often run annoyingly
  1212. slowly so BAT2EXEC is a good way to increase both your
  1213. productivity and satisfaction.
  1214.  
  1215. Format
  1216. ------
  1217.  
  1218.     BAT2EXEC FILE.BAT
  1219.  
  1220. Using BAT2EXEC
  1221. --------------
  1222. Daily PC operations are almost unimaginable without the
  1223. use of batch files. Everyone has their favourite
  1224. collection of them, and some users have constructed
  1225. complex batch files of thousands of bytes that push the
  1226. batch language itself to its limits. Programs that
  1227. expand the available batch file functions, such as
  1228. Michael Mefford's BATCHMAN, encourage users to make
  1229. even larger batch files.
  1230.  
  1231. Unfortunately, however, batch files are also
  1232. notoriously slow. It can be almost painful to watch
  1233. them scroll down the screen a line at a time. A
  1234. standard way to improve the speed of interpreted
  1235. programs, such as batch files, is to compile them.
  1236. That's where BAT2EXEC comes in. Using BAT2EXEC
  1237. could hardly be simpler. Just enter BAT2EXEC FILE.BAT
  1238. where FILE.BAT is the name of your batch file. BAT2EXEC
  1239. will then produce an executable .COM file with the name
  1240. FILE.COM. If BAT2EXEC can't find the batch file, an
  1241. error message will be printed. If BAT2EXEC can't
  1242. understand a line in the batch file, it will print an
  1243. error message indicating the line in the file in which
  1244. it discovered the error.
  1245.  
  1246. BAT2EXEC should not be used on every batch file.
  1247. AUTOEXEC.BAT, for example, must remain a genuine batch
  1248. file in order for COMMAND.COM to find it. Similarly,
  1249. batch files that run terminate and stay resident
  1250. utilities (TSRs) should not be compiled. The reason for
  1251. this limitation lies in the DOS memory management
  1252. structure: if a TSR is executed from a program compiled
  1253. by BAT2EXEC, the memory used by BAT2EXEC itself will
  1254. not be made available to the system after it
  1255. terminates.
  1256.  
  1257. Programs created by BAT2EXEC behave slightly
  1258. differently from the batch files from which they were
  1259. compiled. The .COM file does not echo each line to the
  1260. screen as does the batch file, for example. Running
  1261. other batch files does not cause the .COM program to
  1262. end. Also, pressing Ctrl-Break does not present the
  1263. message, "Terminate Batch file (y/n)." If Ctrl-Break is
  1264. pressed and BREAK has been set on, the program simply
  1265. terminates.
  1266.  
  1267. The size of the resulting .COM file is somewhat larger
  1268. than the batch file. Compiling a batch file containing
  1269. a single REM statement results in a .COM file size of
  1270. 68 bytes, illustrating the overhead of the setup and
  1271. terminate routines. Program size increases quickly as
  1272. routines are added then slows as the loaded routines
  1273. are reused instead of new ones being added.
  1274.  
  1275. Certainly, BAT2EXEC is not suitable for use on every
  1276. batch file. Two and three line batch files are best
  1277. left in their easy-to-alter and simple-to-understand
  1278. ASCII format. However, for those batch files that have
  1279. grown into long complex programs, BAT2EXEC is the
  1280. answer.
  1281.  
  1282. @@BATCHMAN
  1283. BATCHMAN                             Michael J. Mefford
  1284. Batch file enhancement utility              Version 1.1
  1285. -------------------------------------------------------
  1286.  
  1287. Purpose
  1288. -------
  1289. BATCHMAN, is designed both to give your batch files
  1290. significantly more power and to add many of the
  1291. refinements we all wish DOS provided. You can check the
  1292. DOS version, available memory, or display type and then
  1293. branch accordingly. You can create colourful menus that
  1294. branch on a user keypress. And, among its many other
  1295. capabilities, BATCHMAN will let you adjust the keyboard
  1296. typematic rate and tame the grating DOS beep or turn it
  1297. into a tune.
  1298.  
  1299. BATCHMAN is actually a collection of 48 batch file
  1300. enhancement utilities, all rolled into one 6K program.
  1301. This provides more than convenience: if BATCHMAN's
  1302. utilities were stored separately, at a minimum one
  1303. cluster each, they'd take up about 100K of disk space.
  1304.  
  1305. Format
  1306. ------
  1307.  
  1308.     BATCHMAN [command] [arguments] [/R]
  1309.  
  1310. Entering BATCHMAN without any parameters (or with an
  1311. invalid parameter) will bring up a multi-screen display
  1312. that lists all the BATCHMAN commands. The optional
  1313. arguments are parameters for any given command. If you
  1314. add the optional /R switch, BATCHMAN will display the
  1315. EL returned from the command. The Report option will be
  1316. most helpful when you are designing and debugging your
  1317. batch files. Be sure to place BATCHMAN in a directory
  1318. included on the DOS PATH so your batch files can find
  1319. it.
  1320.  
  1321. Batchman and ERRORLEVELs
  1322. ------------------------
  1323. The key to BATCHMAN's operation is the ERRORLEVEL
  1324. code, a number that programs can report to DOS when
  1325. they terminate and that can be acted upon from a batch
  1326. file. I'll abbreviate ERRORLEVEL as EL for the
  1327. remainder of this documentation.
  1328.  
  1329. An EL can have a value between 0 and 255. Each of the
  1330. BATCHMAN commands returns information as an EL. An
  1331. explanation of the syntax of each of the BATCHMAN
  1332. commands and the ELs they return will be found below.
  1333.  
  1334. The BATCHMAN commands
  1335. ---------------------
  1336. The following conventions are used in the explanations
  1337. below. The commands are listed first, followed by any
  1338. parameters they might accept, followed by the EL the
  1339. command will return. The EL is given in curly brackets
  1340. to make it clear that it is not part of the command
  1341. syntax and should not be typed in.
  1342.  
  1343. For example:
  1344.  
  1345.     CLS [nn]  {EL=0}
  1346.  
  1347. Entered without the optional nn colour argument,
  1348. the command:
  1349.  
  1350.     BATCHMAN CLS
  1351.  
  1352. will clear the screen with whatever colour it finds at
  1353. the current cursor position. This provides the most
  1354. flexibility when you plan to distribute a BATCHMAN
  1355. batch file to other systems because it retains the
  1356. user's custom colour scheme.
  1357.  
  1358. If you wish to control the CLS colour, just add the
  1359. colour argument nn, where nn is a decimal or
  1360. hexadecimal value. Hexadecimal numbers need a suffix of
  1361. "h" to distinguish them from decimal. Selecting a
  1362. colour in hex is easier than decimal because each of
  1363. the 16 possible values for each of the background and
  1364. foreground colours fits into a single digit: the first
  1365. digit is background, the second foreground.
  1366.  
  1367. To clear the screen so that subsequent DOS output will
  1368. use blue letters on a light gray background, for
  1369. example, you would enter:
  1370.  
  1371.     BATCHMAN CLS 71h
  1372.  
  1373. The first number (7) is the background colour, and the
  1374. second (1) is the foreground colour. To do the same
  1375. using a decimal number requires a little maths: the
  1376. background colour is multiplied by 16 and added to the
  1377. foreground. In the above example, the decimal
  1378. equivalent would be (7 * 16) + 7 = 113, so the
  1379. equivalent command in decimal would be:
  1380.  
  1381.     BATCHMAN CLS 113
  1382.  
  1383. Like its DOS counterpart, BATCHMAN's CLS also homes the
  1384. cursor to the top left corner. Unlike the DOS CLS,
  1385. however, BATCHMAN's will clear the whole screen
  1386. properly in video modes such as the EGA/VGA 43/50 line
  1387. modes.
  1388.  
  1389.     CECHO [C] [nn,]string{EL=0}
  1390.  
  1391. CECHO is similar to the DOS ECHO command except you can
  1392. choose the colour of the echoed string. The nn colour
  1393. value is entered in the same manner as with CLS, and
  1394. again, if you don't enter a colour value, BATCHMAN will
  1395. use the currently specified colour. To echo a "Zowie!"
  1396. to the display in an eye-catching blinking yellow on
  1397. red, you would enter:
  1398.  
  1399.     BATCHMAN CECHO CEh,Zowie!
  1400.  
  1401. The C (hex) value for the background colour normally
  1402. displays as orange for a foreground colour. When used
  1403. as a background colour, however, it displays as the
  1404. blinking low intensity counterpart, red. Keep in mind
  1405. that any high intensity colour selected for the
  1406. background will blink in its corresponding low
  1407. intensity colour value.
  1408.  
  1409. The optional C parameter shown in CECHO syntax (don't
  1410. confuse it with the hex C colour value in the
  1411. immediately-preceding example) stands for "no carriage
  1412. returns." Normally, both CECHO and the DOS ECHO move to
  1413. the next line after echoing a string. At times this is
  1414. not desirable. For example, you might wish to echo two
  1415. strings, with different colours, on the same line. With
  1416. BATCHMAN you can suppress the carriage return by adding
  1417. a solitary C as the first argument. For example, to
  1418. display a red on yellow blinking "Zowie!" followed by a
  1419. normal red on yellow "Batchman!" on the same line your
  1420. batch file would consist of:
  1421.  
  1422.     ECHO OFF
  1423.     BATCHMAN CECHO C CEh,Zowie!
  1424.     BATCHMAN CECHO 4Eh,Batchman!
  1425.  
  1426. You can suppress the carriage return to prevent the
  1427. display from scrolling when you echo to the last line
  1428. of the display. This feature makes full screen menus
  1429. feasible, whereas echoing to the last line with the DOS
  1430. ECHO command causes the screen to scroll, spoiling any
  1431. previous display layout.
  1432.  
  1433.     SETLOOP  [n]  {EL=0}
  1434.     .
  1435.     .
  1436.     DECLOOP  {EL=SETLOOP-1}
  1437.  
  1438. You use the SETLOOP and DECLOOP commands when you want
  1439. to repeat a set of batch file commands. SETLOOP sets a
  1440. loop counter to the n argument, which can be a decimal
  1441. number between 0 and 255. Once the counter is set, the
  1442. BATCHMAN DECLOOP command will decrement the counter
  1443. each time it is executed and return the new value of
  1444. the loop counter as an EL. The short batch file:
  1445.  
  1446.     ECHO OFF
  1447.     BATCHMAN SETLOOP 10
  1448.     :HERE
  1449.     BATCHMAN CECHO ZONK!
  1450.     BATCHMAN DECLOOP
  1451.     IF ERRORLEVEL 1 GOTO HERE
  1452.  
  1453. will echo "ZONK!" to the display 10 times before
  1454. terminating. The batch processor will branch to the
  1455. HERE label as long as EL is 1 or greater.
  1456.  
  1457. Programmers may wonder where the loop counter is stored
  1458. while other commands are executing. For the SETLOOP and
  1459. PUSHPATH commands (PUSHPATH/POPPATH will be discussed
  1460. below) BATCHMAN creates a small TSR of approximately
  1461. 500 bytes. The loop counter uses one byte for its
  1462. storage; the balance is reserved for path strings. When
  1463. the loop counter becomes zero, the BATCHMAN TSR data
  1464. area is returned to the system memory pool (unless
  1465. PUSHPATH is also using the data area). Note that since
  1466. the loop counter is only one byte, you can not do loop
  1467. nesting.
  1468.  
  1469. If you exit a batch file before SETLOOP has decremented
  1470. to zero, the TSR data area will not be released. You
  1471. should construct your batch files so that any early
  1472. exit from a loop will execute a SETLOOP 0 to force a
  1473. recovery of the TSR data area. BATCHMAN is smart enough
  1474. not only to find its previous TSR data, but will
  1475. prevent the creation of another if you try to enter two
  1476. SETLOOP commands.
  1477.  
  1478.     QFORMAT [d:] [N]
  1479.  
  1480.     {EL=0 if successful; EL=1 if not.}
  1481.  
  1482.  
  1483. QFORMAT is designed to wipe out all the files and
  1484. subdirectories on a floppy disk at a single stroke. To
  1485. keep you from accidentally trashing your hard disk, the
  1486. command will only accept A: or B: as drive arguments.
  1487. All other drive requests are ignored, and you can omit
  1488. the drive argument only if A: or B: is your current
  1489. default drive.
  1490.  
  1491. As a further precaution, QFORMAT warns you that all
  1492. data will be lost and requires that you press Y and
  1493. Enter to confirm. Any other keypress will abort the
  1494. process. If you don't want BATCHMAN to pause and ask
  1495. for your approval, however, you can add the optional N
  1496. argument to the command. The N stands for No Ask. Use
  1497. this option with caution!
  1498.  
  1499. QFORMAT will work only on diskettes that have already
  1500. been formatted by DOS. The DOS FORMAT command puts
  1501. vital information about the media type, number of
  1502. clusters per FAT, and so forth, in the boot sector of
  1503. the disk. BATCHMAN's QFORMAT command uses this
  1504. information to find and place zeros in the FAT and root
  1505. directory sectors of the disk.
  1506.  
  1507. The reason why QFORMAT can be so fast is that it
  1508. doesn't have to do the same work as the DOS FORMAT
  1509. command. FORMAT not only does a low level format but
  1510. also writes over the entire data area of the disk. It's
  1511. the low-level-and-data-format process that takes
  1512. forever. A low level format really needs be done only
  1513. once, and QFORMAT blithely skips that step. QFORMAT is
  1514. sophisticated enough to preserve bad sector
  1515. information, however.
  1516.  
  1517.     PUSHPATH
  1518.     {EL=0 if successful; EL=1 if not}
  1519.     .
  1520.     .
  1521.     POPPATH
  1522.     {EL=0 if successful; EL=1 if not}
  1523.  
  1524. PUSHPATH saves the current drive and directory, which
  1525. can then later be restored with POPPATH. Typically, a
  1526. batch file that executes an application includes a DOS
  1527. CD command (often a change of drive as well) move
  1528. operations to the place where the application resides.
  1529. After the application terminates, it's usually
  1530. desirable to return to the original path.
  1531.  
  1532. By way of example, to run Lotus 1-2-3 on drive D: and
  1533. then return to the default path afterwards, your batch
  1534. file would look something like this:
  1535.  
  1536.     BATCHMAN PUSHPATH
  1537.     D:
  1538.     CD \123
  1539.     123
  1540.     BATCHMAN POPPATH
  1541.  
  1542. PUSHPATH saves the current path in a TSR data area,
  1543. just as the SETLOOP command does. While only one byte
  1544. is reserved for SETLOOP's loop counter, however,
  1545. BATCHMAN's TSR data area allows stacking up several
  1546. paths with PUSHPATH. Subsequent POPPATH commands will
  1547. retrieve the paths in a LIFO (Last In First Out) stack
  1548. basis.
  1549.  
  1550. Suppose, for instance, that you're currently in your
  1551. directory and you issue the following commands:
  1552.  
  1553.     BATCHMAN PUSHPATH
  1554.     CD \DOS
  1555.     BATCHMAN PUSHPATH
  1556.     CD \PCMAG
  1557.     BATCHMAN POPPATH
  1558.     BATCHMAN POPPATH
  1559.  
  1560. In this sequence, the first POPPATH puts you back into
  1561. the \DOS subdirectory, and the last POPPATH restores
  1562. you to the root directory from which you started.
  1563.  
  1564. The number of path layers that can be stored will vary
  1565. with the length of each path pushed onto the stack.
  1566. BATCHMAN's TSR area reserves 408 bytes for paths, which
  1567. allows for 6 levels of nested paths if each path is the
  1568. maximum 65 characters allowed by DOS. Shorter path
  1569. names will allow nesting greater than 6 levels.
  1570.  
  1571. BATCHMAN returns an EL of 1 if it finds the stack too
  1572. full for another PUSHPATH or if the stack is already
  1573. empty with a POPPATH. Otherwise, the EL returned is
  1574. zero. When the last path is popped off the stack, the
  1575. TSR data area is discarded and returned to the DOS
  1576. memory pool.
  1577.  
  1578.     ANSI  {EL=0 if ANSI found;
  1579.     EL=1 if not found}
  1580.  
  1581. This BATCHMAN command is designed simply to determine
  1582. whether ANSI.SYS is or is not installed. If the EL is 1
  1583. you can then branch around any ANSI.SYS escape
  1584. sequences contained in your batch files. BATCHMAN is
  1585. smart enough to detect ANSI.SYS, but it will not find
  1586. other ANSI.SYS emulators, such as DesqView's DV-ANSI.
  1587.  
  1588.     BEEP [m,n[;m,n]...]{EL=0}
  1589.  
  1590. The BATCHMAN BEEP command gives you a great deal of
  1591. flexibility in controlling the frequency and length of
  1592. the sound DOS emits in response to a Ctrl-G character.
  1593. The m,n beep arguments are decimal numbers and are used
  1594. in pairs, separated by a comma. The m value represents
  1595. the frequency (in Hz.), and n is the number of 1/18th
  1596. second increments that comprise the duration.
  1597.  
  1598. The command for a middle C beep of a 1/2 second, for
  1599. example, would be:
  1600.  
  1601.     BATCHMAN BEEP 262,9
  1602.  
  1603. By separating the argument pairs with semicolons, you
  1604. can produce a series of tones with the same BEEP
  1605. command. You might, for example, find it interesting to
  1606. try:
  1607.  
  1608. BATCHMAN BEEP 392,3;523,3;659,3;784,3;10,3;659,3;784,12
  1609.  
  1610. The lowest valid frequency is 19, a very low buzzing
  1611. sound. You can use a value less than 19 to create
  1612. pauses between tones: no sound will be emitted, but the
  1613. duration argument is executed, effectively producing a
  1614. programmable delay between notes.
  1615.  
  1616. If you omit all arguments, BEEP defaults to 1046,1 --
  1617. a C note for 1/18 of a second. The DOS Ctrl-G beep is a
  1618. frequency of 886 that lasts for one second. Musically,
  1619. a frequency of 886 is an out-of-tune A, which probably
  1620. explains why it grates on so many ears.
  1621.  
  1622.     WAITTIL hh:mm[ss]
  1623.  
  1624.     {EL=0 if successful; EL=1 if aborted}
  1625.  
  1626. WAITTIL provides a convenient way to pause until a
  1627. certain time of day. The hh:mm:[ss] argument is the
  1628. time in hours, minutes, and optionally seconds.
  1629. BATCHMAN will wait until the specified time arrives
  1630. but you can manually abort the wait by entering any
  1631. keystroke. A typical application for WAITTIL would be
  1632. to execute an electronic bulletin board communications
  1633. program that would automatically download messages late
  1634. at night when rates are lower.
  1635.  
  1636.     WAITFOR [mm:]ss
  1637.  
  1638.     {EL=0 if successful; EL=1 if aborted}
  1639.  
  1640. WAITFOR simply pauses for a specified number of minutes
  1641. (mm) and seconds (ss). You can omit the minute part of
  1642. the argument if you desire. As with WAITTIL, the
  1643. WAITFOR delay can be over-ridden by pressing a key.
  1644.  
  1645.     CURSORTYPE [m,n]
  1646.  
  1647. You can use CURSORTYPE either to create a cursor size
  1648. that suits your taste or to restore the normal
  1649. underline cursor after an application alters it.
  1650. Entering CURSORTYPE without any arguments will default
  1651. to the standard underline cursor. To create a custom
  1652. cursor, you supply the m,n arguments as the start and
  1653. stop line values. These values can be either decimal or
  1654. hex; for hex input, add an "h" suffix to the number.
  1655.  
  1656. The top of the character box is logical line zero;
  1657. successively-numbered lines increment downward. The
  1658. valid scan line values used for m and n are 0-7 for a
  1659. CGA, 0-13 for a monochrome or EGA, and 0-15 for a VGA.
  1660. The default underline cursor start/stop lines are 6,7
  1661. for a CGA, 11,12 for a monochrome or EGA, and 13,14 for
  1662. a VGA. To set an EGA solid block cursor, for example,
  1663. enter:
  1664.  
  1665.     BATCHMAN CURSORTYPE 0,13
  1666.  
  1667. Note that the EGA BIOS on some video boards will
  1668. attempt to override your selections. BATCHMAN
  1669. temporarily turns off this BIOS EGA emulation logic for
  1670. all video boards when the cursor type is set, and this
  1671. seems to work for most systems. However, if entering
  1672. CURSORTYPE without arguments does not give you the
  1673. normal default underline cursor, you can explicitly
  1674. request an underline cursor that fits your display. You
  1675. may need to do this for video modes other than the
  1676. normal 25 line modes. A "wrap around" cursor, in which
  1677. the stop line has a lesser value than the start line,
  1678. is supported by the hardware of only some video
  1679. systems.
  1680.  
  1681.     BREAK                 {EL=0 if OFF; EL=1 if ON}
  1682.  
  1683. The BATCHMAN BREAK command returns the current state of
  1684. DOS's Ctrl-Break checking. You can change the state of
  1685. BREAK with the DOS command of the same name.
  1686.  
  1687.     DRIVEEXIST d:         {EL=1 if exist; EL=0 if not}
  1688.  
  1689.     DIREXIST directory    {EL=1 if exist; EL=0 if not}
  1690.  
  1691. These two BATCHMAN commands are used to return an EL of
  1692. 1 to your batch files if the specified variable exists.
  1693.  
  1694.     ISVOL [d:]volume      {EL=1 if exist; EL=0 if not}
  1695.  
  1696. Similarly, this command returns an EL of 1 if a
  1697. particular disk volume exists on the named drive.
  1698.  
  1699.     YEAR      {EL=year from 1980 (0-199), where 0=1980}
  1700.  
  1701.     MONTH     {EL=(1-12)}
  1702.  
  1703.     DAY      {EL=(1-31)}
  1704.  
  1705.     WEEKDAY   {EL=(0-6), where Sun=0; Sat=6}
  1706.  
  1707.     HOUR      {EL=(0-23)}
  1708.  
  1709.     MINUTE    {EL=(0-59)}
  1710.  
  1711.     SECOND    {EL=(0-59)}
  1712.  
  1713. This group of BATCHMAN commands returns the system time
  1714. and date. Note that you can obtain a relatively fine
  1715. resolution of the time.
  1716.  
  1717.     VIDEOMODE             {EL=(0-19)}
  1718.  
  1719. The EL returned by the VIDEOMODE command allows you to
  1720. determine which of the possible screen modes listed in
  1721. Figure 3 is currently being used by your display.
  1722.  
  1723.     ROWS                  {EL=display rows}
  1724.     COLS                  {EL=display columns}
  1725.  
  1726. These obvious but very handy commands return the
  1727. current number of rows or columns displayed.
  1728.  
  1729.     SETCURSOR m,n         {EL=0}
  1730.  
  1731. By supplying values for m (the row) and n (the column)
  1732. you can use SETCURSOR to place your cursor at the
  1733. specified screen location. By using SETCURSOR in
  1734. concert with CECHO you can precisely control the
  1735. location of your messages. For example, to display
  1736. "Gotham City" in blue in the middle of the screen, you
  1737. would create the following batch file:
  1738.  
  1739.     ECHO OFF
  1740.     BATCHMAN SETCURSOR 12,35
  1741.     BATCHMAN CECHO 1,Gotham City
  1742.  
  1743. Be sure to include the ECHO OFF command, both so that
  1744. DOS won't spoil your display by echoing the commands,
  1745. and so that the cursor won't return to the beginning of
  1746. the next line for the CECHO command.
  1747.  
  1748. A related use of SETCURSOR is to hide the cursor. You
  1749. can do this by setting the cursor to display on line
  1750. 26, which is off screen. Be sure to issue a second
  1751. SETCURSOR command that puts the cursor back on screen
  1752. once the hidden cursor is no longer needed, or you
  1753. won't be able to see what you type! If you forget,
  1754. don't panic. Just press Esc, blindly type CLS and press
  1755. Enter, and things will return to normal with the cursor
  1756. homed to the top of the display.
  1757.  
  1758.     E43V50           {EL=0 if successful; EL=1 if not}
  1759.  
  1760. This BATCHMAN command loads the 8x8 BIOS font for an
  1761. EGA or VGA monitor. This changes the number of lines
  1762. displayed to 43 (EGA) or 50 (VGA}. You can use the DOS
  1763. MODE command to return to the normal 25-line display.
  1764.  
  1765.     PRTSC            {EL=0}
  1766.  
  1767. This command will execute a printer screen dump exactly
  1768. as if you had pressed Shift-PrtSc on an 83-key keyboard
  1769. or the dedicated Print Screen key on a 101-key
  1770. keyboard.
  1771.  
  1772.     COMPARE string1 string2
  1773.  
  1774.     {EL=0 if match; EL=1 if no match}
  1775.  
  1776. The BATCHMAN COMPARE makes a case insensitive
  1777. comparison between two strings. For most purposes
  1778. you'll probably want to use COMPARE instead of the case
  1779. sensitive DOS batch command:
  1780.  
  1781.     IF string1==string2
  1782.  
  1783. With the DOS IF string comparison a non-case sensitive
  1784. match requires two tests -- one for uppercase and one
  1785. for lowercase. Even this does not guarantee a match if
  1786. the string is a mixture of upper and lower case, as
  1787. might occur if a batch file were looking for a person's
  1788. name, for example. COMPARE solves this case problem.
  1789. Note that the BATCHMAN COMPARE does not need the double
  1790. equal signs the DOS IF command uses.
  1791.  
  1792.     CANCOPY filespec [d:]
  1793.  
  1794.     {EL=0 if room to copy; EL=1 if not}
  1795.  
  1796. Before you copy a file or a number of files to another
  1797. drive (especially a floppy disk drive), you can use
  1798. CANCOPY to see if there is enough room for all the
  1799. specified files. The filespec you supply can use the
  1800. DOS ? and * wildcards. If you don't specify the target
  1801. drive, the default drive is checked. Thus, for example,
  1802. to check whether the collection of PC Magazine
  1803. utilities you keep in a directory called PCMAG on drive
  1804. C: will fit onto a floppy, you would enter:
  1805.  
  1806.     BATCHMAN CANCOPY C:\PCMAG\*.* A:
  1807.  
  1808. BATCHMAN returns an EL of 0 if there is room; otherwise
  1809. a 1 would be returned. If you enter this from the DOS
  1810. command line, you'll want to include the /R option to
  1811. see the EL returned on screen.
  1812.  
  1813.     WARMBOOT
  1814.  
  1815.     COLDBOOT
  1816.  
  1817. As their names imply, WARMBOOT and COLDBOOT reboot your
  1818. system. WARMBOOT does the same thing as pressing
  1819. Ctrl-Alt-Del; COLDBOOT is like hitting the big red
  1820. switch. A COLDBOOT does a memory check (among other
  1821. things) that WARMBOOT does not, and it takes a lot more
  1822. time. Of course, be forewarned that with either of
  1823. these commands all unsaved data in RAM memory will be
  1824. lost. Note that WARMBOOT and COLDBOOT may not work on
  1825. some non-compatible systems.
  1826.  
  1827.     SHIFT ALT | CTRL
  1828.  
  1829.     {EL=1 if depressed; EL=0 if not}
  1830.  
  1831. This command returns the state of either the Alt or
  1832. Ctrl key. For example,
  1833.  
  1834.     BATCHMAN CTRL
  1835.  
  1836. returns an EL of 1 if the Ctrl key is currently
  1837. depressed. You can use the SHIFT command along with the
  1838. BATCHMAN GETKEY command without arguments to detect
  1839. alternate key presses. (See GETKEY, below, for an
  1840. example.)
  1841.  
  1842.     NUMLOCK [ON | OFF]   {EL=0}
  1843.  
  1844.     CAPSLOCK [ON | OFF]  {EL=0}
  1845.  
  1846.     SCROLLOCK [ON | OFF] {EL=0}
  1847.  
  1848. These three self-explanatory commands toggle the
  1849. current shift state of the NumLock, CapsLock or
  1850. ScrollLock keys when used without the ON or OFF
  1851. options. They explicitly turn the three keys on or off
  1852. if the optional arguments are supplied.
  1853.  
  1854. Thus, for example:
  1855.  
  1856.     BATCHMAN NUMLOCK
  1857.  
  1858. will toggle the NumLock state on if it was off or off
  1859. if it was on. Entering
  1860.  
  1861.     BATCHMAN NUMLOCK OFF
  1862.  
  1863. will turn the NumLock state off regardless of whether
  1864. it is currently on or off. This latter would be a
  1865. useful line in your AUTOEXEC.BAT if you use the numeric
  1866. keypad for cursor navigation instead of number entry.
  1867. Note that on some keyboards the LED indicator lights
  1868. may not faithfully track changes in shift status.
  1869.  
  1870.     RENDIR old new {EL=0 if successful; EL=1 if not}
  1871.  
  1872. The RENDIR command will rename a directory, but only on
  1873. systems using DOS 3.0 or later. To use it simply enter
  1874. the path of the old directory and the new name.
  1875.  
  1876. For example, to change the name of a temporary
  1877. directory named TMP on the C: drive to a permanent
  1878. name, say, ROBIN, you would enter:
  1879.  
  1880.     BATCHMAN RENDIR C:\TMP C:\ROBIN
  1881.  
  1882. Be sure to include the complete path for both the old
  1883. and new directory names if the directory is other than
  1884. the default.
  1885.  
  1886.     ROMDATE  {EL=0}
  1887.  
  1888. ROMDATE displays the eight bytes of the BIOS date at
  1889. address FFFF:0005 of the ROM BIOS. Usually, the display
  1890. will be something like 10/07/87, but some clone BIOSs
  1891. do not have a date. If no ASCII numbers are found,
  1892. BATCHMAN displays nothing.
  1893.  
  1894.     GETKEY ['string' n]
  1895.  
  1896.     {EL=scan code if no ['string' n] list;
  1897.      else EL=position in list.}
  1898.  
  1899. There are probably hundreds of versions of the batch
  1900. file GETKEY program. They return the scan code of the
  1901. next key you press as an EL. If you enter the BATCHMAN
  1902. GETKEY command without the optional (bracketed)
  1903. arguments, it will do the same thing.
  1904.  
  1905. Entered without arguments, GETKEY can also be used with
  1906. the BATCHMAN SHIFT command to detect Alt- or Ctrl- key
  1907. combinations. The scan code for the "Q" key is 16. To
  1908. check for an Alt-Q keypress (perhaps as a Quit key
  1909. command), you would use the following batch file:
  1910.  
  1911.     ECHO OFF
  1912.     GETKEY
  1913.     BATCHMAN GETKEY
  1914.     IF NOT ERRORLEVEL 16 GOTO GETKEY
  1915.     BATCHMAN SHIFT ALT
  1916.     IF NOT ERRORLEVEL 1 GOTO GETKEY
  1917.     ECHO Alt-Q was pressed.
  1918.  
  1919. GETKEY's optional key list provides still another kind
  1920. of functionality with its optional key list. The
  1921. information you need may not be the scan code of a
  1922. given key, but rather its position in a string. If you
  1923. supply the optional 'string' argument to GETKEY,
  1924. BATCHMAN will wait either until one of those keys
  1925. listed has been pressed or until you break out of the
  1926. command with Ctrl-Break or Ctrl-C. An example may
  1927. helpful here. With the command:
  1928.  
  1929.     BATCHMAN GETKEY 'yn'
  1930.  
  1931. BATCHMAN will wait until either the "Y" or the "N" key
  1932. or one of the break keys mentioned above is
  1933. detected. All other keypresses are ignored, and if the
  1934. break-out keys are pressed, the EL returned will be
  1935. 255. GETKEY is not case sensitive, so if either "Y" or
  1936. "y" is pressed, the EL will be 1, since the "y" is the
  1937. first character in the string of valid keypresses. For
  1938. "N", an EL of 2 will return.
  1939.  
  1940. The string must be enclosed in a pair either of single
  1941. or double quotes. If you want the single quote included
  1942. as a valid keypress, enclose it in double quotes and
  1943. vice versa for double quotes, as in the following
  1944. example:
  1945.  
  1946.     BATCHMAN GETKEY '"'
  1947.  
  1948. You can also include the function keys (even the F11
  1949. and F12 keys of the extended keyboard) in the GETKEY
  1950. list. The function key numbers are listed without
  1951. quotes, (they are designated by the n in the command
  1952. syntax above), and may or may not be further identified
  1953. with a leading "F." Multiple function keys are
  1954. delimited by either a space, comma or semicolon. To add
  1955. the F1 and F2 as valid keys to the "yn" string example
  1956. above, you would enter either:
  1957.  
  1958.     BATCHMAN GETKEY "yn" F1 F2
  1959.  
  1960. or just
  1961.  
  1962.     BATCHMAN GETKEY "yn" 1 2
  1963.  
  1964. If F1 is now pressed, the returned EL will be 3, since
  1965. F1 is the third entry in the list.
  1966.  
  1967.     DOSVER           {EL=(major*32)+minor}
  1968.  
  1969. DOSVER returns an EL representation of the DOS version
  1970. in use. DOS version numbers have two parts, the Major
  1971. version (the number to the left of the decimal point)
  1972. and the Minor version (the number to the right). For
  1973. DOS version 3.10, then, 3 is the major and the 10 is
  1974. the minor. Since the largest EL number is 255, the DOS
  1975. version number does not fit conveniently into an EL.
  1976. For DOS 3.10, for example, if the dot is discarded the
  1977. remaining 310 is too large for an EL.
  1978.  
  1979. Of course, BATCHMAN could be content to return only the
  1980. major number, truncating anything after the dot, or
  1981. even the first digit after the dot. But that would be
  1982. less than sufficient for some applications. So instead,
  1983. the DOSVER command compresses the version number by
  1984. multiplying the major number by 32 and adding it to the
  1985. minor number. With DOS 3.30 the result will be (3*32)+
  1986. 30=126; with DOS 4.00 it would be 128. If there had
  1987. been a DOS version 3.32 we would have a problem of
  1988. course, since this would also return 128. Historically
  1989. speaking however, we are safe here.
  1990.  
  1991.     MAINMEM n | R  {EL=0 if enough}
  1992.  
  1993.     EXPMEM  n | R  {EL=0 if enough}
  1994.  
  1995.     EXTMEM  n | R  {EL=0 if enough}
  1996.  
  1997. The arguments for these three memory commands can be
  1998. either a decimal number, n, or an R. The decimal
  1999. argument is used to check whether the desired amount of
  2000. memory (in KB) is free. If BATCHMAN finds that there is
  2001. enough free memory to meet the request, the EL will be
  2002. 0. Thus, if an application needs 512K bytes of the 640K
  2003. maximum possible with DOS, you would enter:
  2004.  
  2005.     BATCHMAN MAINMEM 512
  2006.  
  2007. The EL will return 0 if there are at least 512K bytes
  2008. free; otherwise, a 1. Your batch file can then branch
  2009. to an error message if there is not enough memory to
  2010. run the application. Note that these memory commands do
  2011. not allocate the memory. They only check if it is free.
  2012.  
  2013. The alternative R argument stands for Report and will
  2014. display the current free memory of the type requested
  2015. on the screen. To see how much free expanded memory you
  2016. have, for example, enter:
  2017.  
  2018.     BATCHMAN EXPMEM R
  2019.  
  2020. The report option of the three types of memory will go
  2021. nicely with BATCHMAN's ROMDATE command in a system
  2022. information batch file.
  2023.  
  2024.     DISPLAY              {EL=display type}
  2025.  
  2026. The DISPLAY command will report on the type of display
  2027. your system has installed. The values returned by
  2028. DISPLAY as EL codes are:
  2029.  
  2030.     1=MDA
  2031.     2=CGA
  2032.     4=EGA colour
  2033.     5=EGA mono
  2034.     6=PGS
  2035.     7=VGA mono
  2036.     8=VGA colour
  2037.     11=MCGA mono
  2038.     12=MCGA colour
  2039.  
  2040.     CPU  {EL=CPU type}
  2041.  
  2042. Similarly, the CPU command returns an EL that indicates
  2043. the microprocessor used by your machine. The specific
  2044. EL numbers are: 1=8086/8088; 2=80186; 3=80286; and
  2045. 4=80386.
  2046.  
  2047.     WINDOW m,n,w,h[,c,b]
  2048.  
  2049.     {EL=0 if successful; EL=1 if not}
  2050.  
  2051. The powerful WINDOW command displays screen boxes. It
  2052. provides several parameters and options. The first two
  2053. decimal numbers (m,n) are the row and column of the top
  2054. left hand corner of the window. The next two decimal
  2055. numbers (w,h) are the desired width and height of the
  2056. window (including the border characters.)
  2057.  
  2058. The smallest size that WINDOW allows is 2 characters in
  2059. width and height. The optional fifth parameter, c, can
  2060. be either a hexadecimal or decimal number for the
  2061. colour of the window. If no colour argument is
  2062. supplied, the current colour of the screen is used by
  2063. default. The last parameter, b, sets the type of border
  2064. used to surround the window. If no parameter is found,
  2065. spaces are used. If you enter a minus sign for b, a
  2066. single-line box character will be drawn. An equals sign
  2067. for b will produce a the double-line box character. In
  2068. all cases, the centre of the window is cleared with
  2069. spaces of the chosen colour. For example, the command
  2070.  
  2071.     BATCHMAN WINDOW 1,1,80,25,17h,=
  2072.  
  2073. will create a blue window with white double line box
  2074. characters that will fill the entire screen, making a
  2075. nice menu frame. Text could then be added with the
  2076. BATCHMAN SETCURSOR and CECHO commands.
  2077.  
  2078.     TYPEMATIC [m,n | N]
  2079.  
  2080.     {EL=0 if valid parameters; EL=1 if not}
  2081.  
  2082.     m=typematic rate (0 - 31); larger m=faster rate
  2083.  
  2084.     n=initial delay  (0 - 3); larger n=longer delay
  2085.  
  2086.     N=normal: m=20; n=1; default: m=25; n=0
  2087.  
  2088. TYPEMATIC works only with keyboards that support
  2089. adjustable typematic (automatic key repeating) rates at
  2090. the BIOS level. That includes most machines, starting
  2091. with the AT, but not all clones.
  2092.  
  2093. The first optional decimal parameter, m, is a number
  2094. between 0 and 31 and represents the desired typematic
  2095. rate. The larger the m value, the faster your keyboard
  2096. will repeat keystrokes. The second parameter, n, has a
  2097. range of 0-3, and sets the initial delay. This delay is
  2098. the length of time you must hold down a key before it
  2099. begins repeating. The larger the delay value the longer
  2100. the delay. The delay parameters are in increments of
  2101. 1/4 second, with 0=1/4 and 3=1 second. The typematic
  2102. parameters are divisors and cannot be easily be
  2103. translated into fractions of a second, however, and so
  2104. should be thought of only as a gradient scale.
  2105.  
  2106. If you don't enter any parameters, TYPEMATIC defaults
  2107. to a repeat rate of 25 and a delay of 0. The 25
  2108. translates into about 17 characters per second with
  2109. an initial delay of 1/4 second. You can restore the
  2110. typematic rate to the normal hardware defaults
  2111. (11 characters per second with a 1/2 second delay)
  2112. by using the N parameter. Just enter:
  2113.  
  2114.     BATCHMAN TYPEMATIC N
  2115.  
  2116. and the normal values of 20, 1 will be used. Once you
  2117. try adding a little zoom to your keyboard, however,
  2118. you probably won't ever go back to the hardware
  2119. defaults.
  2120.  
  2121. Updates
  2122. -------
  2123. This updated version of BATCHMAN has enhancements to
  2124. the GetKey and Shift functions.
  2125.  
  2126. The Getkey function has been enhanced with respect to
  2127. the command line arguments. In this version, unquoted
  2128. numeric arguments represent scan codes instead of
  2129. function keys. Any scan code is valid; thus, one can
  2130. now check for Home, PgDn, or Tab as well as function
  2131. keys. A drawback is that one must know the scan code
  2132. for the desired key, including the twelve function
  2133. keys. However, the previous mode of operation is
  2134. still supported if one precedes the function key with
  2135. an "f" (case-independent). The "f" is no longer
  2136. optional. Finally, function key 0 has been defined as
  2137. the "Enter" key.
  2138.  
  2139. The Shift function now reports whether either of the
  2140. shift keys is depressed. Use BATCHMAN SHIFT SHIFT.
  2141. BATCHMAN returns Errorlevel 1 if either shift key is
  2142. down; otherwise errorlevel 0.
  2143. @@BLOAD & BSAVE
  2144. BLOAD and BSAVE
  2145. Save and reload the screen display        Version 1.0
  2146. -------------------------------------------------------
  2147.  
  2148. Purpose
  2149. -------
  2150. Similar to the BASIC commands of the same name, these
  2151. two programs provide a simple ability to save and
  2152. reload screen displays. They are included here for
  2153. use with the DRAW program.
  2154.  
  2155. Format
  2156. ------
  2157.  
  2158.     BSAVE filename
  2159.  
  2160. then
  2161.  
  2162.     BLOAD filename
  2163.  
  2164. Remarks
  2165. -------
  2166. BSAVE stores the currently displayed screen in a file.
  2167. The BLOAD command can then be used to reload it. If
  2168. the screen is a graphic image, you should use the
  2169. VIDMODE command included on Power Pack volume 3 to 
  2170. set the appropriate display mode before using BLOAD.
  2171.  
  2172. BLOAD and BSAVE can be used in batch files to
  2173. quickly display complete screens or drawings.
  2174. See the DRAW command for more information.
  2175. @@CALC
  2176. CALC                                     Douglas Boling
  2177. Pop-up programmer's calculator            Version 1.0
  2178. -------------------------------------------------------
  2179.  
  2180. Purpose
  2181. -------
  2182. A pop-up programmer's calculator with base conversion,
  2183. bit-shifting, logical operator, and mod functions, and
  2184. 32-bit number representation that also supports a
  2185. 2-decimal fixed-place arithmetic calculations.
  2186.  
  2187. Format
  2188. ------
  2189.  
  2190.     CALC
  2191.  
  2192. Remarks
  2193. -------
  2194. CALC is a terminate-stay-resident (TSR) program that
  2195. can be loaded either at the DOS command line or as a
  2196. part of an AUTOEXEC.BAT file. The Alt-S key combination
  2197. (default) pops up a 6-line window for calculations; the
  2198. Esc key restores the screen to its previous condition.
  2199. The program automatically adapts itself to Monochrome,
  2200. CGA, EGA or VGA displays.
  2201.  
  2202. Any number on CALC's entry line can be successively
  2203. converted to hexadecimal, binary, octal, or decimal
  2204. (default) notation by pressing F1. Mixed-base
  2205. calculations are supported, and the +, -, *, and /
  2206. function conventionally so long as it is realised that
  2207. CALC operates in integer, not floating point mode.
  2208. (Fixed 2-decimal place calculations can be made by
  2209. pressing F2 before entering the numbers.) In integer
  2210. mode the mod function (e.g. 25 mod 8 = 1) is also
  2211. supported, using either the % or the \ sign as the
  2212. operator.
  2213.  
  2214. CALC uses full 32-bit number representation, and so can
  2215. be used for address calculations. The function keys F3,
  2216. F4, and F5, perform logical and, or, xor operations
  2217. between two numbers. F6 performs a not (invert)
  2218. function on the number entered. F7 shifts bits left and
  2219. F8 shifts right. F9 is a change-sign key, and F10
  2220. clears the entry line. To clear the calculator field,
  2221. press Shift-F10.
  2222.  
  2223. Using the values for SS and MM shown in the Scan Code
  2224. and Shift Mask charts given in the Tech Notes
  2225. document, the default hotkey for CALC can be changed
  2226. with DEBUG, as shown below:
  2227.  
  2228.     DEBUG CALC.COM
  2229.     E 157 "Ctl-A"        ;The new letter
  2230.     E 26B SS             ;Scan code
  2231.     E 275 MM             ;Shift mask
  2232.     W
  2233.     Q
  2234. @@CARDFILE
  2235. CARDFILE                                   Jeff Prosise
  2236. Pop-up contacts cardfile with autodialler   Version 1.1
  2237. -------------------------------------------------------
  2238.  
  2239. Purpose
  2240. -------
  2241. Combines a database of names, addresses, phone numbers,
  2242. and memo-IDs with a Hayes compatible autodialler.
  2243.  
  2244. Format
  2245. ------
  2246.  
  2247.     CARDFILE [d:][filespec]
  2248.  
  2249. Remarks
  2250. -------
  2251. CARDFILE is normally loaded with a specific database
  2252. (filespec) by being listed as a line in your
  2253. AUTOEXEC.BAT file. You can switch to another database
  2254. by repeating the command with a different filespec at
  2255. the DOS prompt. The Alt-Right Shift key combination
  2256. pops up the CARDFILE window, and Esc returns you to
  2257. your application. Within the window, the Function keys
  2258.  are assigned thus:
  2259.  
  2260.     F1 - Begin/save a new or edited card
  2261.     F2 - Edit the card currently displayed
  2262.     F3 - Delete the card currently displayed
  2263.     F4 - Search all cards for a text string
  2264.     F5 - Save datafile to disk
  2265.     F6 - Dial the phone number currently displayed
  2266.  
  2267. All card data entry and editing is done in overstrike
  2268. mode. The backspace key deletes the previous character
  2269. and the four cursor keys can position the cursor
  2270. anywhere in the record area. Enter moves the cursor to
  2271. the start of the next line. You can page through all of
  2272. the cards with the PgUp, PgDn, and Enter keys. The HOME
  2273. and END keys let you jump quickly to the first or last
  2274. card, respectively.
  2275.  
  2276. To search the database, press F4 and enter a text
  2277. string. Pressing Enter resumes the search (which is not
  2278. case-sensitive) after a match; Esc cancels the search.
  2279. An alternate way to find a name quickly is to press Alt
  2280. and a letter key. To find "Smith," for example, hit
  2281. Alt-S, then use PgDn or Enter to skip past "Sagamore"
  2282. and "Siddhartha."
  2283.  
  2284. When used with a Hayes-compatible modem, F6 dials the
  2285. number currently displayed. At the prompt, pick up the
  2286. phone and press the Spacebar to break the modem
  2287. connection. The CARDFILE autodialler ignores all
  2288. non-numeric characters except the comma, which inserts
  2289. the pause sometimes needed to access an outside line.
  2290.  
  2291. Because CARDFILE is a memory-resident program, it must
  2292. assume rather than change the modem parameters. By
  2293. default, CARDFILE is initially configured for a
  2294. 1200-baud modem connected to the COM1. Using DEBUG you
  2295. can change the value at :0182 from 0 to 1 to change
  2296. from COM1 to COM2, to 2 for COM3, etc. Similarly, to
  2297. change to a different baud (bps) rate, change the value
  2298. at :0184h from the default 83h, as follows:
  2299.  
  2300.      300 baud     43h
  2301.     1200 baud     83h
  2302.     2400 baud     A3h
  2303.     4800 baud     C3h
  2304.     9600 baud     E3h
  2305.  
  2306. The "ATDT" (dial) and "ATH0" (hangup) strings are at
  2307. addresses :0185h and :018Ah, respectively. While they
  2308. can be changed (especially substituting a "P", ASCII 80
  2309. for the "T" in the dialling command), note that each
  2310. sequence must be 4 bytes long. The dial string must be
  2311. delimited by a zero byte, and the hangup string must
  2312. end with 0Dh and 00.
  2313.  
  2314. To save memory, the card capacity may be lowered from
  2315. the default 255 (FFh) at :0169. Each record takes 192
  2316. bytes. And if the Alt-Right Shift 'hotkey' conflicts
  2317. with other software, change the default value 09 at
  2318. address :036A to a combination of the following:
  2319.  
  2320.     Right-Shift 1
  2321.     Left-Shift  2
  2322.     Ctrl        4
  2323.     Alt         8
  2324.  
  2325. Note
  2326. ----
  2327. While CARDFILE will operate under DOS 2.x, its critical
  2328. error handler is only fully effective with DOS 3.x.
  2329. @@CDX
  2330. CDX                     Michael Holmes and Bob Flanders
  2331. Enhanced change directory command           Version 1.3
  2332. -------------------------------------------------------
  2333.  
  2334. Purpose
  2335. -------
  2336. Provides an alternative to the DOS CD command that
  2337. eliminates the need to enter long path and directory
  2338. names and that finds and changes to directories
  2339. containing specified filenames.
  2340.  
  2341. Format
  2342. ------
  2343.  
  2344.     CDX [/?] [/B] [/+] [/F filename] [d:]p1 p2 ..pn
  2345.  
  2346. Remarks
  2347. -------
  2348. Entered without any of the optional / switches, CDX
  2349. searches one or more hard drives d: for a specified
  2350. directory p1. If found, the full path is displayed with
  2351. a ? prompt and is selected by typing Y; typing N
  2352. continues the search for another qualifying directory.
  2353. If the d: parameter is omitted, only the current drive
  2354. is checked; *: searches all hard drives, starting with
  2355. the first hard drive in the system. Multiple drives
  2356. listed as d:, including floppies (if requested) are
  2357. searched in named order, e.g. DCAB:. If d: is preceded
  2358. by a minus sign (-) the drive(s) listed are excluded
  2359. rather than included.
  2360.  
  2361. The p1 target directory name can be truncated to as
  2362. little as its initial letter. To prevent having to
  2363. bypass an inconvenient number of qualifying directories
  2364. at the ? prompt, multiple values of p, each separated
  2365. by a space, can be used to construct an abbreviated
  2366. path, which need not include all steps. If the initial
  2367. p1 begins with a backslash (\) the search will be made
  2368. from the root rather than the current directory.
  2369.  
  2370. Using the /F switch limits qualifying directories to
  2371. those containing a user-specified filename. The
  2372. filename supports the * and ? DOS wildcards, and if all
  2373. the subdirectories of d: are to be searched, p1 may be
  2374. omitted or replaced by an asterisk (*). Supplying the
  2375. /B switch automatically selects the first qualifying
  2376. directory, eliminating the user prompt. The /+ switch
  2377. causes floppy disk drives A: and B: to be included in
  2378. the search. Executing CDX with no operands brings up a
  2379. syntax help screen.
  2380.  
  2381. In keeping with DOS conventions, entering CDX with
  2382. a single dot, double dot, backslash or a single
  2383. parameter that is the full name of a directory goes to
  2384. the requested directory. An extension of this
  2385. convention allows a disk name to be specified. For
  2386. example, if you are currently on C: and you enter CDX
  2387. D:\ABC you will be taken to the D: drive ABC directory.
  2388. CDX can be forced to search by placing a * at the end
  2389. of the parameter.
  2390. @@CHANGE
  2391. CHANGE                               Michael J. Mefford
  2392. Fast text search-and-replace            Version 1.0
  2393. -------------------------------------------------------
  2394.  
  2395. Purpose
  2396. -------
  2397. Performs a rapid search-and-replace operation for text
  2398. strings and/or ASCII decimal codes throughout a file of
  2399. maximum 40,000-byte length.
  2400.  
  2401. Format
  2402. ------
  2403.  
  2404.     CHANGE filespec findstring replacestring
  2405.  
  2406. Remarks
  2407. -------
  2408. The filespec parameter may include a drive letter and a
  2409. path in addition to the designated filename.
  2410.  
  2411. Findstring and replacestring may consist of text
  2412. characters enclosed within (double) quote marks or
  2413. ASCII decimal codes whose numbers are separated by
  2414. commas. Note that the format requires that each
  2415. parameter be separated by a single space. Text strings
  2416. in quotes and ASCII values in numerals may be combined
  2417. in either string if separated by commas.
  2418.  
  2419. Example
  2420. --------
  2421. To change all references to Miss Jones to Mrs Smith in
  2422. the file NOGOSSIP.ART on the current directory, you
  2423. would enter
  2424.  
  2425.     CHANGE NOGOSSIP.ART "Miss Jones" "Mrs Smith"
  2426.  
  2427. Example
  2428. --------
  2429. To strip out all carriage return-line feeds (i.e.
  2430. replace them with a null string) in the file MCI.B16 in
  2431. the \COMM subdirectory, enter
  2432.  
  2433.     CHANGE \COMM\MCI.B16 13,10 ""
  2434.  
  2435. Notes
  2436. -----
  2437. 1. In the second example you might want to use a space
  2438.    between the quote marks rather than a null string to
  2439.    keep the words from running together. Observe that
  2440.    by putting the number of the month in hexadecimal
  2441.    (B=November) you can fit both month and day within
  2442.    the three character DOS filename extension.
  2443. @@COMPUTE
  2444. COMPUTE                              Michael J. Mefford
  2445. Command line calculator                Version 1.0
  2446. -------------------------------------------------------
  2447.  
  2448. Purpose
  2449. -------
  2450. A five-function calculator (addition, subtraction,
  2451. multiplication, division, and modulo functions) that
  2452. works directly from the DOS command line prompt.
  2453.  
  2454. Format
  2455. ------
  2456.  
  2457.     COMPUTE arithmetic expression
  2458.  
  2459. Remarks
  2460. -------
  2461. COMPUTE accepts decimal numbers only, and the operators
  2462. in its arithmetic expression are +, -, *, /, and %.
  2463. Note that the % symbol does not stand for percent, but
  2464. rather designates the modulo operator, which returns
  2465. the remainder of an integer division. (Example: COMPUTE
  2466. 8 % 5 returns the value 3, since 5 goes into 8 once
  2467. with a remainder of 3.) When working on real numbers
  2468. with a fractional part the modulo operator in COMPUTE
  2469. rounds off the operands before the division.
  2470.  
  2471. The standard order of precedence for arithmetic
  2472. operations is followed by default. Multiple levels of
  2473. parentheses and/or square brackets are supported,
  2474. however, so that the order in which calculations are
  2475. made can be modified. Thus, while COMPUTE 4 + 5 * 2
  2476. returns the value 14, the command COMPUTE (4 + 5) * 2
  2477. returns 18.
  2478.  
  2479. COMPUTE stores its last calculated result within its
  2480. own .COM file. This number, designated x, can be
  2481. recovered and used in the next calculation, whose
  2482. result becomes the new x. The value of the
  2483. currently-stored x can be seen by entering the command
  2484. COMPUTE x, and x can be used as an operand, as in
  2485. COMPUTE x + 5.
  2486.  
  2487. The program can handle decimal numbers up to 20 digits
  2488. on either side of the decimal point. Rounding errors
  2489. are precluded by using a binary coded decimal (BCD)
  2490. format. Under DOS 3.x and later, COMPUTE can be renamed
  2491. to a shorter name to save keystrokes. Under DOS 2.x,
  2492. however, the program cannot be renamed and must be
  2493. stored either in the current directory or in one
  2494. designated in a PATH= statement.
  2495. @@CONVERT
  2496. CONVERT                              Michael J. Mefford
  2497. Convert between hex, decimal, octal and 
  2498. binary                                      Version 1.1
  2499. -------------------------------------------------------
  2500.  
  2501. Purpose
  2502. -------
  2503. Simultaneously displays an ASCII code or whole number
  2504. between 0 and 65,535 in its hexadecimal, decimal,
  2505. octal, and binary equivalents; especially useful in
  2506. translating printer, modem, or display escape
  2507. sequences and set-up strings from one number base to
  2508. another.
  2509.  
  2510. Format
  2511. ------
  2512.  
  2513.     CONVERT number[-number][base] | "character(s)"
  2514.  
  2515. Remarks
  2516. -------
  2517. Either a single number or a number-number range may be
  2518. input to CONVERT for multiple number base display.
  2519. Decimal input is assumed, unless otherwise indicated by
  2520. adding b (binary), o (octal), or h (hexadecimal) to the
  2521. number(s). An ASCII code to be converted must be placed
  2522. within double quotes. Control codes (for example,
  2523. Ctrl-A) may be entered normally at the keyboard (within
  2524. double quotes), with the exception of the escape
  2525. character. To display the equivalents (including the
  2526. ASCII left-arrow graphic) of the escape character,
  2527. enter CONVERT 27.
  2528.  
  2529. When large numbers are converted, the 2-byte sequence
  2530. displayed within quotes in the right-hand column as the
  2531. ASCII "equivalent" should not be used in translating
  2532. set-up strings. It represents the individual byte
  2533. values, not the value of the combination. Note, too,
  2534. that in this display, decimal 0 (null), 32 (space), and
  2535. 255 (blank) all appear as blanks. The output from
  2536. CONVERT may be redirected to a printer or to file, so a
  2537. multi-line table of values can be created. When
  2538. redirection is used, however, the ASCII equivalent
  2539. normally shown in the right-hand column is dropped.
  2540. @@DOSCLIP
  2541. DOSCLIP                                  Douglas Boling
  2542. Cut-and-paste clipboard for DOS             Version 1.0
  2543. -------------------------------------------------------
  2544.  
  2545. DOSCLIP is a memory-resident (TSR) utility that 
  2546. provides a Windows-like cut-and-paste facility for DOS
  2547. programs. You can simply pop-up DOSCLIP over one 
  2548. program, copy a block of the text on-screen to the 
  2549. DOSCLIP clipboard, change to another program and then
  2550. 'paste' the copied data into it.
  2551.  
  2552. Unlike other cut-and-paste programs, DOSCLIP is Windows
  2553. aware and will operate in conjunction with the Windows
  2554. clipboard. This makes it especially useful for those 
  2555. who run DOS applications under Windows in 386 Enhanced
  2556. mode.
  2557.  
  2558. Format
  2559. ------
  2560.  
  2561.     DOSCLIP [/B] [/U]     (loads DOSCLIP)
  2562.  
  2563.     Alt-C                 (pop-up DOSCLIP)
  2564.  
  2565.     Arrow keys and Shift  (select area)
  2566.  
  2567.     C or Enter            (copy selected area)
  2568.  
  2569.     V                     (paste clipboard)
  2570.  
  2571. Remarks
  2572. -------
  2573. DOSCLIP is loaded from the DOS prompt and requires 10K
  2574. when memory resident. The optional /B switch parameter
  2575. is required only with video boards that do not conform
  2576. to the IBM video standard. Entering DOSCLIP with the
  2577. /U switch uninstalls the program (subject to the usual
  2578. TSR limitations... TSRs must always be uninstalled in
  2579. the reverse order).
  2580.  
  2581. The default pop-up hotkey is Alt-C, which brings up
  2582. DOSCLIP over the application and replaces the
  2583. underline cursor with a block-style cursor used to
  2584. define an on-screen text area to be saved to the
  2585. clipboard.  The arrow keys, PgUp and PgDn, Home, and
  2586. End are used to move the DOSCLIP cursor; Ctrl-Left
  2587. Arrow and Ctrl-Right Arrow move it laterally in eight
  2588. -character jumps. To block an area, place the cursor in
  2589. one corner and move it to the diagonally opposite
  2590. corner while holding down the Shift key. After
  2591. releasing the Shift key, the defined area is saved to
  2592. the clipboard by pressing Enter or the C key.
  2593.  
  2594. A defined text area can be pasted into another
  2595. application by pressing Alt-V or by bringing up
  2596. DOSCLIP with Alt-C and then pressing V. The default
  2597. pop-up and paste hotkeys can be changed by using
  2598. PATCH.COM and the DOSCLIP.ZIF file, both of which 
  2599. are supplied (see below).
  2600.  
  2601. When used in conjunction with Windows, it is desirable
  2602. to load DOSCLIP before starting Windows, memory
  2603. permitting. This will make DOSCLIP available to all
  2604. Windows sessions. Windows should also be run in 386
  2605. Enhanced mode if possible so that data captured in
  2606. DOSCLIP can be pasted into Windows applications and
  2607. vice versa.
  2608.  
  2609. Customising DOSCLIP with PATCH.COM
  2610. ----------------------------------
  2611. PATCH.COM is a special customising program for PC
  2612. Magazine utilities, allowing you to alter colour
  2613. settings, hotkeys and other defaults directly in a
  2614. .COM file without having to use DEBUG. PATCH.COM works
  2615. via a .ZIF type file with the same name as the utility
  2616. it is to alter... the .ZIF file tells PATCH.COM what
  2617. customisation options are available for a particular
  2618. program and how to make the changes.
  2619.  
  2620. PATCH.COM is included on this disk along with 
  2621. DOSCLIP.ZIF so that you can set the colours and
  2622. hotkeys for DOSCLIP if necessary. To use PATCH.COM:
  2623.  
  2624.   * Make sure PATCH.COM, DOSCLIP.COM and DOSCLIP.ZIF
  2625.     are all in the same directory and that this
  2626.     is your current directory (use CD if not).
  2627.  
  2628.   * Enter a command such as 
  2629.  
  2630.     COPY DOSCLIP.COM DOSCLIP2.COM
  2631.  
  2632.     to make a back-up copy of DOSCLIP.COM. You 
  2633.     probably won't need this but it means that you
  2634.     have an original DOSCLIP.COM to come back to
  2635.     if you do.
  2636.  
  2637.   * Enter PATCH to start PATCH.COM. As only one
  2638.     .ZIF file is present, the menu on the left will
  2639.     just list 'DOSCLIP'. Press Enter to select this
  2640.     and the customisation items on the right will
  2641.     highlight.
  2642.  
  2643.   * Use the arrow and return keys to select the
  2644.     hotkey, colours and buffer settings for DOSCLIP
  2645.     as you prefer.
  2646.  
  2647.   * Press the Esc key when you've finished your changes
  2648.     and type a Y if you want to save them to
  2649.     DOSCLIP.COM.
  2650.  
  2651.   * Your new settings should now be stored in 
  2652.     DOSCLIP.COM and will take affect when you next
  2653.     load it.
  2654. @@DRAW
  2655. DRAW                                 Michael J. Mefford
  2656. Draws graphics from DOS prompt or batch 
  2657. files                                       Version 1.0
  2658. -------------------------------------------------------
  2659.  
  2660. Purpose
  2661. -------
  2662. Provides low-resolution (320 x 200) colour or high-
  2663. resolution (640 x 200) monochrome drawing capabilities
  2664. on CGA, EGA and VGA systems, without the need to work
  2665. in BASIC.
  2666.  
  2667. Format
  2668. ------
  2669.  
  2670.     DRAW [/K]                (Option I)
  2671.  
  2672.     DRAW string [/K]         (Option II)
  2673.  
  2674.     DRAW filespec/F [/K]     (Option III)
  2675.  
  2676. Remarks
  2677. -------
  2678. Entered at the DOS prompt with no arguments on the
  2679. command line (Option I), DRAW looks in the current
  2680. directory for a file named DRAW.DAT and executes the
  2681. commands in that file. A sample DRAW.DAT file is
  2682. included on this disk. The file can be examined, and
  2683. similar files created, with a regular ASCII word
  2684. processor.
  2685.  
  2686. Alternatively, DRAW can be entered with a string of
  2687. commands (Option II) for a simple graphic or with the
  2688. name of a file consisting of commands (Option III).
  2689. Any legal DOS filename may be used, and full path
  2690. support is provided, but a /F terminator must be
  2691. appended to the filename. An optional /K may be added
  2692. to prevent a keystroke from halting execution.
  2693.  
  2694. Example
  2695. -------
  2696. You can get a feel for how DRAW operates by entering,
  2697. at the DOS prompt:
  2698.  
  2699.     DRAW X0 C2 BU50 M+40,70 L80 M+40,-70 BD5 P2,2
  2700.  
  2701. This will create a red triangle in the middle of your
  2702. screen. You can trace the specific steps in this
  2703. command sequence by referring to The DRAW Command Set
  2704. table below.
  2705.  
  2706. The DRAW Command Set
  2707. --------------------
  2708. Xn   Change to low resolution 320X200 colour graphics.
  2709.  
  2710.      If X is not found, the default is 640X200 high
  2711.      resolution black and white graphics. X must be
  2712.      the first character of the command line or the
  2713.      first character in a file.
  2714.  
  2715.      The palette will be changed to n, where n can be
  2716.      either zero or one. See C colour command below
  2717.      for the colour of each palette.
  2718.  
  2719. K    Do not poll the keyboard while drawing. If K is
  2720.      not found, any keystroke terminates the program.
  2721.  
  2722. Sn   Flood the screen colour to pattern n. n must be a
  2723.      decimal number in the range 0-255, and represents
  2724.      an eight bit pattern. Normally this command is
  2725.      issued immediately after the X command (if
  2726.      present), to clear the screen with a background
  2727.      colour other than black. For example, to clear to
  2728.      colour red (2) in low resolution, the command is
  2729.      S170 (binary 10101010).
  2730.  
  2731.          colour         320X200          640X200
  2732.            0               0                0
  2733.            1              85              255
  2734.            2             170               NA
  2735.            3             255               NA
  2736.  
  2737.      Pattern colours may also be used. For example, a
  2738.      pattern of half green and half black would be S58
  2739.      (binary 01000100). In high resolution, each bit
  2740.      represents a dot, eight dots per byte. This is
  2741.      why only two colours (black or white) are
  2742.      available. In low resolution, there are two bits
  2743.      per dot, so four combinations can be represented.
  2744.      In the example here the sequence is 01 (green), 00
  2745.      (black), 01 (green), 00 (black). See C (colour)
  2746.      command below for complete coding of the colours.
  2747.  
  2748. U,D,L,R,E,F,G,H
  2749.      These commands, followed by a number, will move in
  2750.      one of the following compass directions:
  2751.  
  2752.                           U
  2753.                   H       |       E
  2754.                     \     |     /
  2755.                       \   |   /
  2756.                         \ | /
  2757.                L -- -- -- + -- -- -- R
  2758.                         / | \
  2759.                       /   |   \
  2760.                     /     |     \
  2761.                   G       |       F
  2762.                           D
  2763.  
  2764. Mx,y Move x,y units either relative to the current
  2765.      position or to the absolute coordinates, x,y. If
  2766.      the x coordinate is prefaced with either a plus
  2767.      sign or minus sign, the move is relative.
  2768.      Otherwise, the move is absolute. Note, you do not
  2769.      need to include a plus sign in front of the y
  2770.      coordinate in a positive y move.
  2771.  
  2772. Pp,b Paint the colour p until the border colour b is
  2773.      found. The paint originates from the current
  2774.      position.
  2775.  
  2776. B    Blank move. The move following a B will move the
  2777.      desired units without plotting points. The next
  2778.      command will then continue drawing.
  2779.  
  2780. N    No update. The draw command following an N
  2781.      command will plot points, but the position will
  2782.      not be updated. The next draw command will start
  2783.      at the same position as the last.
  2784.  
  2785. Cn   Change the colour to n. All draws after a C
  2786.      command will be in colour n. n can be 0 (black) or
  2787.      1 (white) in high resolution and 0 to 3 in low
  2788.      resolution. In low resolution, the colour is
  2789.      dependent on the palette.
  2790.  
  2791.                        320x200                 640x200
  2792.      colour     palette 0     palette 1
  2793.        0         black         black            black
  2794.        1         green         cyan             white
  2795.        2         red           magenta          NA
  2796.        3         yellow        white            NA
  2797.  
  2798. Related programs
  2799. ----------------
  2800. These disks also include BLOAD, BSAVE, VIDMODE and 
  2801. PLAY programs which can be used with DRAW to create
  2802. quite sophisticated presentations within batch files.
  2803.  
  2804. The command
  2805.  
  2806.     BSAVE filespec
  2807.  
  2808. saves a byte image of the screen buffer to a file
  2809. (with optional drive and path specifications), and
  2810.  
  2811.     BLOAD filespec
  2812.  
  2813. loads a saved image file back to the screen buffer.
  2814.  
  2815. VIDMODE can be used in a batch file with BLOAD
  2816. to set the appropriate display resolution (VIDMODE 4
  2817. for low res, VIDMODE 6 for high res). The PLAY
  2818. utility plays a tune on the PC's speaker.
  2819.  
  2820. Example
  2821. -------
  2822. This disk includes the example DRAW and PLAY files
  2823. MOVIE.DAT and STING.DAT so that you can try the
  2824. this example. Create the following batch file,
  2825. SAVE.BAT, using an ASCII word processor, EDLIN, or
  2826. COPY CON:
  2827.  
  2828.     ECHO OFF
  2829.     DRAW MOVIE.DAT/F
  2830.     BSAVE PICTURE
  2831.  
  2832. Enter SAVE and the batch file will create a saved
  2833. screen image called PICTURE of the MOVIE.DAT drawing.
  2834. Now, similarly create a second batch file, SHOW.BAT:
  2835.  
  2836.     ECHO OFF               (turn off command display)
  2837.     VIDMODE 4              (select low res graphics)
  2838.     BLOAD PICTURE          (load the image)
  2839.     PLAY STING.DAT/F       (play the tune)
  2840.     PAUSE > NUL            (wait for a keypress)
  2841.     VIDMODE 3              (back to text screen)
  2842.  
  2843. If you now enter SHOW at the DOS prompt the picture
  2844. of two con men will appear, with appropriate musical
  2845. background. Pressing any keystroke will clear the
  2846. display.
  2847.  
  2848. Note
  2849. ----
  2850.  
  2851. 1. The PAUSE > NUL line in SHOW.BAT waits for a
  2852.    keystroke without showing a message on the
  2853.    display. This will not work properly on DOS
  2854.    versions prior to DOS 3.
  2855.  
  2856. 2. The VIDMODE program is included on volume 3
  2857.    of the Power Pack; you will need to copy the
  2858.    program file to the same directory as the
  2859.    DRAW and PLAY programs for the examples above.
  2860. @@FREEZE
  2861. FREEZE                                     Jeff Prosise
  2862. Locks a running PC to keep sensitive data 
  2863. hidden                            Version 1.0
  2864. -------------------------------------------------------
  2865.  
  2866. Purpose
  2867. -------
  2868. Ensures confidentiality of in-memory data when it is
  2869. necessary to leave a PC running without storing the
  2870. data to a removable medium or encrypting it. FREEZE
  2871. temporarily suspends program operation, blanks the
  2872. screen, and disables the Ctrl-Alt-Del reboot sequence
  2873. until a user-entered password (up to 64 characters) is
  2874. re-entered.
  2875.  
  2876. Format
  2877. ------
  2878.  
  2879.     FREEZE
  2880.  
  2881. Remarks
  2882. -------
  2883. FREEZE is a memory-resident utility, normally loaded by
  2884. an AUTOEXEC.BAT file. After loading, the machine is
  2885. "locked" by pressing Alt-NumLock and then entering your
  2886. chosen password. The password may include any characters
  2887. except Esc and Enter. Pressing the Esc key aborts
  2888. password entry, and pressing Enter initiates the
  2889. lockdown.
  2890.  
  2891. The Backspace key may be used to correct incidental
  2892. mistakes, but care must be exercised, as the characters
  2893. are not echoed on the screen during entry. To unlock
  2894. the machine, simply re-enter the same password and
  2895. press Enter. Again, the Backspace and Esc keys can be
  2896. used to correct or abort password entry.
  2897.  
  2898. Notes
  2899. -----
  2900. 1. The password is never stored and may be changed each
  2901.    time FREEZE is invoked with Alt-Numlock. If an
  2902.    attempt is made to load FREEZE more than once,
  2903.    an error message will result.
  2904.  
  2905. 2. While FREEZE is believed compatible with most other
  2906.    memory-resident programs, because of the importance
  2907.    of data with which it is expected to be used, it
  2908.    should be thoroughly checked in your specific
  2909.    configuration. In particular, FREEZE should be
  2910.    loaded before SideKick.
  2911. @@HC
  2912. HUGECALC                                 Neil Rubenking
  2913. Long precision calculator                   Version 1.0
  2914. -------------------------------------------------------
  2915.  
  2916. Purpose
  2917. -------
  2918. A command-line calculator utility that can perform
  2919. addition, subtraction, multiplication, division,
  2920. exponentiation, and factorial functions on numbers
  2921. with up to 254 significant digits.
  2922.  
  2923. Format
  2924. ------
  2925.  
  2926.      HC n operator [n]
  2927.  
  2928. Remarks
  2929. -------
  2930. The n operand variables may consist of any string of
  2931. digits up to the 127-character maximum of the DOS
  2932. command line. The operands must not include commas or
  2933. other formatting punctuation, and must be separated
  2934. from the command and the operator by at least one
  2935. space. Two operands are required for all operations
  2936. except factorial. The operators recognised are +, -,
  2937. *, /, ^, and !.
  2938.  
  2939. When output to the screen (the default) or redirected
  2940. to a printer or other DOS device, HUGECALC prints the
  2941. name of the function and inserts commas at every three
  2942. digits in the numeric result. If the output is
  2943. redirected to a file or piped to a program input,
  2944. however, only the numeric result is sent. Note that
  2945. when it accepts input from a file or via a pipe,
  2946. HUGECALC uses that input as its first operand. This
  2947. means that you can evaluate complex expressions with
  2948. HUGECALC by using the DOS pipe (|) facility to string
  2949. together several HC commands in sequence.
  2950.  
  2951. Example
  2952. -------
  2953. If a program that prints 10,000 permutations a second
  2954. is asked to print all possible combinations of 13
  2955. characters, how long will it take?   The command
  2956.  
  2957.     HC 13 ! | HC / 10000 | HC / 3600 | HC / 24
  2958.  
  2959. pipes the factorial of 13 (the possible combinations)
  2960. to a second instance of HC, which divides it by 10,000
  2961. (the permutations per second). The result is piped to
  2962. a third instance of HC, which divides it by 3600 (the
  2963. seconds in an hour), and finally to a fourth instance
  2964. of HC, which divides it by 24 (the hours in a day).
  2965. The answer printed on the screen is:
  2966.  
  2967.     QUOTIENT: 7
  2968.     REMAINDER: 4,
  2969.  
  2970. that is, 7 days, 4 hours.
  2971.  
  2972. Note that all such chained calculations must be
  2973. strictly sequential and that parenthetical expressions
  2974. are not supported.
  2975. @@INSTALL & REMOVE
  2976. INSTALL & REMOVE                           Jeff Prosise
  2977. TSR management programs                     Version 1.0
  2978. -------------------------------------------------------
  2979.  
  2980. Purpose
  2981. -------
  2982. INSTALL and REMOVE are a pair of programs that allow
  2983. you to load and unload TSR (memory-resident) type
  2984. programs in a safe way, even with programs that do not
  2985. provide their own uninstall or unload feature. INSTALL
  2986. is used before loading a memory-resident program.
  2987. Subsequently REMOVE will remove the program and restore
  2988. the PC's interrupt vectors and memory allocation to the
  2989. same state as before the program was loaded. Using
  2990. these programs, you can have the TSR programs you need
  2991. loaded only when you need them and maximise your free
  2992. memory in situations when you don't.
  2993.  
  2994. INSTALL and REMOVE can be used to manager one program,
  2995. a group of programs or even several sets of programs
  2996. that can be removed or reloaded in stages.
  2997.  
  2998. Format
  2999. ------
  3000.  
  3001.     INSTALL [groupname]
  3002.  
  3003. and, subsequently,
  3004.  
  3005.     REMOVE
  3006.  
  3007. Remarks
  3008. -------
  3009. The optional groupname parameter may be the actual name
  3010. of a TSR utility (or several such names, up to 119
  3011. characters) or it may be any convenient name for a
  3012. group of such programs. All memory-resident programs
  3013. loaded after invoking INSTALL will treated by REMOVE as
  3014. a group until INSTALL is run a second time. To be able
  3015. to REMOVE such utilities individually, run INSTALL just
  3016. before each separate utility is loaded.
  3017.  
  3018. Example
  3019. -------
  3020. An AUTOEXEC.BAT file might contain the following lines:
  3021.  
  3022.     INSTALL TIMEKEY
  3023.     TIMEKEY
  3024.     INSTALL FREEZE
  3025.     FREEZE
  3026.     INSTALL SUPERKEY SIDEKICK
  3027.     KEY
  3028.     SK
  3029.  
  3030. After booting up, entering REMOVE at the DOS prompt
  3031. would then produce the following display:
  3032.  
  3033. Number of installations: 3
  3034.  
  3035.     TIMEKEY
  3036.     FREEZE
  3037.     SUPERKEY SIDEKICK
  3038.  
  3039. Press ENTER to remove, ESC to abort
  3040.  
  3041. Pressing Enter would remove Superkey and SideKick.
  3042. Subsequent calls to REMOVE would be needed to eliminate
  3043. first FREEZE and then TIMEKEY. Note that TSRs must
  3044. always be removed in reverse order of loading.
  3045.  
  3046. INSTALL uses 1600 bytes of memory each time it is
  3047. invoked. A maximum of 32 TSR groups can be INSTALLed.
  3048. In the unlikely event that a "Deinstallation failed"
  3049. warning appears, you should reboot as a memory
  3050. allocation error may have occurred.
  3051. @@JOURNAL
  3052. JOURNAL                              Michael J. Mefford
  3053. Expense account manager                Version 1.0
  3054. -------------------------------------------------------
  3055.  
  3056. Purpose
  3057. -------
  3058. A standalone or TSR (23KB RAM) utility that maintains
  3059. and prints expense account information and includes
  3060. the appointment schedule features of SCHEDULE (also
  3061. on this disk).
  3062.  
  3063. Format
  3064. ------
  3065.  
  3066.      JOURNAL [/I] [/U] [/Hn] [/Pn...n] [/G] [/A] [/C]
  3067.              [/M] [/B]
  3068.  
  3069. Remarks
  3070. -------
  3071. The optional /I switch is used when it is desired to
  3072. run JOURNAL as a pop-up. The /U switch uninstalls the
  3073. program if no other TSR has been loaded subsequently.
  3074. Note, however, that 'SideKick', if used, must be
  3075. loaded after JOURNAL. The default hotkey is Alt-J,
  3076. but this can be changed with the /H switch, using any
  3077. Ctrl- or Alt- alphanumeric key for n. To install with
  3078. Ctrl-K as the pop-up key, enter <JOURNAL /H ctrl k>.
  3079.  
  3080. The /Pn...n switch allows entering printer control
  3081. codes, with up to 10 decimal values for n. For
  3082. printers that support the IBM extended-ASCII character
  3083. set, using the /G switch produces a neater printout by
  3084. utilizing the line-drawing characters. With LCD
  3085. screens the /B (black-and-white) switch is
  3086. recommended.
  3087.  
  3088. By default, JOURNAL chimes and pops up at the time of
  3089. a scheduled appointment; it also pops up at midnight
  3090. to turn to the next day's events. The /C switch
  3091. eliminates the chime; /A prevents the appointment
  3092. pop-up, and should be used if a communications program
  3093. is running; and /M prevents the midnight pop-up (to
  3094. avoid stopping a program that is running overnight).
  3095.  
  3096. JOURNAL comes up initially with a Calendar screen and
  3097. can be switched to its Journal and then to its
  3098. Appointment screens with F7. Pressing the hotkey
  3099. exits from any screen; Esc goes back to the Calendar
  3100. screen, where a second Esc exits. JOURNAL should be
  3101. run from its own directory, which must be current (not
  3102. just on the path) when it is installed or executed.
  3103. The program will create and store SCHEDULE.DAT and
  3104. JOURNAL.DAT in this directory when the Save command
  3105. (F2) is given from the Appointment or from the Journal
  3106. screen. The purge command (F4) can be executed from
  3107. either screen to keep the .DAT files timely. The
  3108. material removed can be archived, by being
  3109. automatically appended to the files SCHEDULE.ASC and
  3110. JOURNAL.ASC. The .ASC files can be edited with a word
  3111. processor; the .DAT files can only be edited in the
  3112. program's screens and then resaved. (F2)
  3113.  
  3114. The PgUp and PgDn keys change the day displayed in the
  3115. Journal, Appointment, and Purge screens (the month in
  3116. the Calendar screen). Ctrl-PgUp and Ctrl-PgDn
  3117. similarly change the months (years). The current date
  3118. can be restored immediately by pressing F3. Tab and
  3119. Shift-Tab move among the three sections of the
  3120. Appointment screen (the two time columns and the mini
  3121. notepad), and from field to field of the expense
  3122. Journal screen. Pressing Home moves to the start of
  3123. an expense field, an appointment section row, or the
  3124. start of the week in the Journal, Appointment, and
  3125. Calendar Screens, respectively. Hitting Home a second
  3126. time moves to the first field, the top of the section,
  3127. or the first of the month for the three screens, in
  3128. order. Pressing the End key once and twice moves to
  3129. the corresponding end points of the three screens.
  3130.  
  3131. The cursor keys, Del and Backspace keys work as
  3132. usual. F6, Shift-F6, and Ctrl-F6 clear lines and
  3133. fields in the Journal screen, and lines, sections, and
  3134. all sections in the Appointment screen. The Calendar
  3135. screen displays blocks that correspond to entries in
  3136. the Appointment Screen.
  3137.  
  3138. Pressing F5 from the Appointment screen prints a list
  3139. of appointments when the printer port number (1 or 2)
  3140. is entered. When F5 is pressed from the Journal
  3141. screen the program tallies all entered expenses for
  3142. days up to, but not including the current date. (Use
  3143. PgDn to advance the day to include the current date).
  3144. To get an overall total, suitable for deciding whether
  3145. to file a report yet, press F7. Pressing F8 after F5
  3146. will send a full, day-by-day report to the printer
  3147. (F7) or to an ASCII-editable file (F8). The printed
  3148. report puts two days on a standard-size page. Remember
  3149. to purge expense account information when a report has
  3150. been made or it will reappear on the next report.
  3151.  
  3152. JOURNAL is a text-based program and will not pop up
  3153. over graphics screens (e.g. Microsoft Windows) or
  3154. during DOS or disk activity. The largest number the
  3155. program can handle is 65,535.99.
  3156. @@LOCK & UNLOCK
  3157. LOCK and UNLOCK                          Steven Holzner
  3158. File encryption and decryption                Version 1.0
  3159. -------------------------------------------------------
  3160.  
  3161. Purpose
  3162. -------
  3163. LOCK encrypts a file, rendering it unreadable to anyone
  3164. who does not know the user-chosen passphrase.
  3165. Subsequently, using the same passphrase, UNLOCK will
  3166. decrypt the file.
  3167.  
  3168. Format
  3169. ------
  3170.  
  3171.     LOCK plainFile codeFile      (to lock a file)
  3172.  
  3173. then
  3174.  
  3175.     UNLOCK codeFile plainFile    (to unlock a file)
  3176.  
  3177. Remarks
  3178. -------
  3179. The user-selected passphrase can be up to 64
  3180. characters in length; the programs prompt you
  3181. to supply it. Files to be LOCKed and
  3182. UNLOCKed must be less than 62K in length. If
  3183. you do not supply new filenames for the
  3184. locked and unlocked files, the programs use
  3185. the default filename FILE.LOC.
  3186.  
  3187. Example
  3188. -------
  3189. You have a file of student course evaluations
  3190. named CONFY on drive C: that you wish to mail
  3191. to a colleague in encrypted form. You put a
  3192. formatted floppy disk in drive A:, and at the
  3193. C> prompt you enter
  3194.  
  3195.     LOCK CONFY A:CRIMSON
  3196.  
  3197. When the program asks for a passphrase, you
  3198. enter VERITAS.
  3199.  
  3200. The CRIMSON file on the disk will be
  3201. unreadable. When your colleague--who must,
  3202. of course, be told the passphrase you have
  3203. used--puts the disk in his machine, he types
  3204.  
  3205.     UNLOCK A:CRIMSON GUIDE
  3206.  
  3207. When prompted, he supplies the passphrase
  3208. VERITAS, and his file GUIDE will be identical
  3209. to your original file CONFY.
  3210.  
  3211. Notes
  3212. -----
  3213. 1. LOCK and UNLOCK do not delete any files,
  3214.    original or encoded.
  3215.  
  3216. 2. You should always LOCK and UNLOCK from one
  3217.    filename to another. If you give the same
  3218.    filename for both the plain and encrypted
  3219.    files in a LOCK or UNLOCK command, you may
  3220.    not be able to recover your plain text.
  3221.  
  3222. 3. Requires DOS version 2.0 or later.
  3223. @@NO
  3224. NO                                      Charles Petzold
  3225. Exclude files from wildcard operations        Version 1.0
  3226. -------------------------------------------------------
  3227.  
  3228. Purpose
  3229. -------
  3230. Excludes specified files in a subdirectory from the
  3231. action of a command.
  3232.  
  3233. Format
  3234. ------
  3235.  
  3236.     NO filespec command [parameter]
  3237.  
  3238. Remarks
  3239. -------
  3240. NO.COM is designed for situations in which you want to
  3241. apply a command such as DELete or COPY to all the
  3242. files in a directory except one or two (or a class of)
  3243. files. For example,
  3244.  
  3245.                NO *.BAS COPY *.* A:
  3246.  
  3247. copies all the files in your current subdirectory to
  3248. drive A: except for those that have a .BAS extension.
  3249.  
  3250. To exclude more than one file (or category) you must
  3251. use a separate NO command for each on the command
  3252. line. Thus,
  3253.  
  3254.                NO *.ASM NO *.COM DEL *.*
  3255.  
  3256. deletes all files in the current directory except
  3257. those with .ASM or .COM extensions.
  3258.  
  3259. Notes
  3260. -----
  3261.  
  3262. 1.   NO.COM should not be used in conjunction
  3263.      with the PC-DOS BACKUP and RESTORE
  3264.      commands. This is because NO operates
  3265.      by temporarily setting the "hidden" file
  3266.      attribute bit on the files to be
  3267.      excluded from the main command, then
  3268.      unhiding the files after the main
  3269.      command has been executed. Since the
  3270.      DOS BACKUP/RESTORE operation acts on
  3271.      hidden and unhidden files alike, NO.COM
  3272.      cannot be used to exclude files from
  3273.      BACKUP/RESTORE. RESTORE, indeed, will
  3274.      restore the supposedly excluded files as
  3275.      hidden, overwriting the originals.
  3276.  
  3277. 2.   While NO.COM provides full path support
  3278.      (and so requires the use of DOS 2.0 or
  3279.      later), it is a good policy when using
  3280.      NO to use CHDIR to make the directory
  3281.      that contains the files on which you
  3282.      wish to operate the current directory.
  3283.  
  3284.      For example, suppose you are in your
  3285.      root directory, one of whose subdirec-
  3286.      tories is \BASIC. If you were to enter
  3287.      the command
  3288.  
  3289.      NO *.BAS DEL \BASIC\*.*
  3290.  
  3291.      you would not delete all the files in
  3292.      the \BASIC subdirectory except those
  3293.      with a .BAS extension, as you might have
  3294.      intended to do. To do this from the
  3295.      root directory you would have had to
  3296.      enter
  3297.  
  3298.      NO \BASIC\*.BAS DEL \BASIC\*.*
  3299.  
  3300.      This complete filespec would tell NO
  3301.      that it had to protect files in the
  3302.      \BASIC, not in the current (i.e. root)
  3303.      directory.
  3304.  
  3305.      If you follow our recommendation and
  3306.      enter
  3307.  
  3308.           CD \BASIC
  3309.           NO *.BAS DEL *.*
  3310.  
  3311.      thus making \BASIC your current
  3312.      directory before you start deleting, you
  3313.      will then clean out all but the .BAS
  3314.      files, just as you intended.
  3315.  
  3316. 3.   Should a parity check error, power
  3317.      failure or system crash occur during the
  3318.      brief period between the times NO hides
  3319.      and subsequently unhides the protected
  3320.      files, those files will subsequently
  3321.      seem to have disappeared. They are not
  3322.      lost; only hidden from a DIR listing.
  3323.      Use the DOS ATTRIB command or a similar
  3324.      program to remove their hidden status.
  3325. @@PARSE
  3326. PARSE                                Michael J. Mefford
  3327. Word count and analysis of text files        Version 1.0
  3328. -------------------------------------------------------
  3329.  
  3330. Purpose
  3331. -------
  3332. Displays the number of characters, words, and sentences
  3333. in ASCII text files.
  3334.  
  3335. Format
  3336. ------
  3337.  
  3338.     PARSE [d:][path]filename
  3339.  
  3340. Remarks
  3341. -------
  3342. PARSE also calculates and reports the averages of the
  3343. numbers of characters per word, words per sentence, and
  3344. "long" words (8 or more characters). It uses these to
  3345. calculate and display an approximation of the Fog Index
  3346. grade-level readability rating.
  3347.  
  3348. The accuracy of the various counts may be affected,
  3349. though usually not significantly, by the presence of
  3350. formatting and printing codes included in the file by
  3351. non-ASCII word processors. PARSE does ignore the
  3352. "high-bit" codes produced by WordStar and similar
  3353. programs, but "dot commands" and the like will be
  3354. counted.
  3355.  
  3356. Notes
  3357. -----
  3358. 1. For further information on the Fog Index see
  3359.    Robert Gunning's The Technique of Clear Writing
  3360.    (McGraw-Hill, 1952, 1968).
  3361. @@PCREMOTE
  3362. PCREMOTE                      Terry Lahman & Kevin Sims
  3363. PC remote control program                     Version 2
  3364. -------------------------------------------------------
  3365.  
  3366. Purpose
  3367. -------
  3368. To permit accessing and operating an off-site
  3369. computer from your own keyboard by using a modem
  3370. link or a second computer connected via a null
  3371. modem cable. PCREMOTE will run most text-mode
  3372. applications remotely.
  3373.  
  3374. This revised PCREMOT2 version can be used with the
  3375. ZCOPY program (version 1.4R) included on this disk
  3376. for two-way file transfer. A SETUP program to allow
  3377. configuration parameters to be changed is also
  3378. included.
  3379.  
  3380. Format
  3381. ------
  3382.  
  3383.     PCREMOT2 [/M] [/#] [/B#] [/D] [/S] [/N] [/U] [/?]
  3384.  
  3385. Remarks
  3386. -------
  3387. PCREMOTE is actually two programs in one. Entered
  3388. without the /M switch it becomes RAM-resident on
  3389. the off-site computer to be controlled. This
  3390. machine and its modem must be left powered on to
  3391. receive calls but may otherwise be used normally
  3392. or left unattended.
  3393.  
  3394. Entered with default parameters, PCREMOT2 becomes an
  3395. 8K TSR on the host (controlled) computer, using COM1,
  3396. 1,200 bits per second, no CGA desnowing, and a default
  3397. password of "PC Magazine". The /M parameter executes
  3398. the program on the remote (home) machine, and /#
  3399. accepts values of 1 through 4 for the COM port
  3400. assignment. (If used, /3 or /4 must not share an
  3401. interrupt with other devices.) Baud rates are: /B1
  3402. (1,200); /B2 (2,400); /B4 (4,800); /B9 (9,600); or
  3403. /B19 (19,200 null modem only) bps. Used with a modem
  3404. connection (the remote unit prompts for and then dials
  3405. the number), the host will automatically reduce speed
  3406. to match that of the remote machine.
  3407.  
  3408. The /D parameter should only be used if necessary to
  3409. eliminate snow on older CGA hosts, and the /S
  3410. parameter displays an ASCII 2 character to indicate
  3411. that PCREMOT2 is active. For null-modem cable
  3412. connections, the /N parameter must be specified on both
  3413. machines, as must a common /B# speed. The /U parameter
  3414. uninstalls the TSR and /? provides a syntax help
  3415. screen.
  3416.  
  3417. The SETUP program provides for permanent (updatable)
  3418. configuration of all parameters, change of password
  3419. (up to 20 characters), entry of special modem-
  3420. initialisation strings (up to 30 characters), and
  3421. change of the default Alt-key combinations. Alt-C
  3422. retransmits the host screen to overcome phone-line
  3423. noise; Alt-S shells the remote unit to DOS; Alt-X
  3424. exits the program.
  3425.  
  3426. Alt-T initiates file transfers, which can only be done
  3427. when the host is displaying the DOS prompt and
  3428. ZCOPY.COM is on its PATH. Full prompts are provided
  3429. for filename(s) (DOS wildcards are supported) and for
  3430. source and destination file paths. Files cannot be
  3431. renamed during transfer. Applications in graphics mode
  3432. (including Windows) are not supported. Previous
  3433. PCREMOTE versions must be updated on both host and
  3434. remote machines.
  3435.  
  3436. A Sample Session with PCREMOT2
  3437. ------------------------------
  3438.  
  3439. The following is a step-by-step guide to using
  3440. PCREMOT2:
  3441.  
  3442. ON THE HOST COMPUTER:
  3443.  
  3444. Run SETUP, configure for host mode, and verify that the
  3445. modem COM port and baud rate are set correctly. Make
  3446. sure you save the configuration (SETUP option 14). The
  3447. next time you run PCREMOT2 there will be no need to
  3448. reconfigure.
  3449.  
  3450. Verify that PCREMOT2 and ZCOPY are stored in a
  3451. directory listed on the host computer's PATH. (Type
  3452. PATH to see the current PATH. If the directory
  3453. containing the two programs in not on your PATH, modify
  3454. the PATH command in your AUTOEXEC.BAT or move the
  3455. programs to one of the directories on the PATH.)
  3456.  
  3457. Execute PCREMOT2. The program will now be resident on
  3458. the host. If desired, the host monitor screen can be
  3459. turned off to prevent burn-in over long periods of
  3460. inactivity.
  3461.  
  3462. ON THE REMOTE COMPUTER:
  3463.  
  3464. Run SETUP, configure for manned mode, and verify that
  3465. the modem COM port and baud rate are set correctly.
  3466.  
  3467. When prompted, enter the phone number of the office
  3468. (host) computer.
  3469.  
  3470. After the modems connect, the host sends the "Enter
  3471. password:" prompt to the remote computer.
  3472.  
  3473. Enter the password. (The default is "PC Magazine".) Any
  3474. data that now appears on the host computer's screen
  3475. will be displayed on the remote screen, as well.
  3476.  
  3477. Now you should experiment with PCREMOT2. If you enter
  3478. DIR, for example, you'll find that scrolling appears a
  3479. little strange at first.
  3480.  
  3481. Start a text application, such as a word processor or a
  3482. utility program.
  3483.  
  3484. With the application still active, press Alt-X and exit
  3485. PCREMOT2. The modems will hang up and the call will be
  3486. terminated.
  3487.  
  3488. Execute PCREMOT2 and dial back into the host. The
  3489. application will still be on-screen, executing
  3490. normally. (Thus, you can start a program that has a
  3491. long execution time, hang up the phone, and dial back
  3492. later to see whether the program has finished its
  3493. task.)
  3494.  
  3495. Terminate the application or shell out from it so that
  3496. you see the host's DOS prompt on the remote screen.
  3497. Press Alt-T and follow the very explicit prompts to
  3498. transfer a file or two between machines.
  3499.  
  3500. When you're finished, press Alt-X and exit PCREMOT2.
  3501.  
  3502. Using the SETUP program
  3503. -----------------------
  3504. SETUP.EXE displays the current configuration of the
  3505. PCREMOTE program. The user can change configurable
  3506. items, eliminating the need to enter command line
  3507. parameters when executing PCREMOTE. SETUP.EXE must be
  3508. in the same directory as PCREMOT2.COM.
  3509.  
  3510. SETUP displays menu numbers on each line of the
  3511. display. To modify a parameter, enter the number and
  3512. press enter. Parameters that toggle, for example
  3513. Host/Remote, are toggled and the parameters
  3514. redisplayed. Parameters having more than one
  3515. configuration will display the possible options.
  3516. Parameters requiring an input, a new password, prompt
  3517. you for the input.
  3518.  
  3519. If you select communications port 3 or 4, SETUP also
  3520. updates ZCOPY.COM with the port address and interrupt
  3521. values used in PCREMOTE. ZCOPY.COM must be in the
  3522. same directory as SETUP.EXE.
  3523. @@PCSORT
  3524. PCSORT                               Michael J. Mefford
  3525. Fast general purpose sorting utility        Version 1.1
  3526. -------------------------------------------------------
  3527.  
  3528. Purpose
  3529. -------
  3530. A fast and capable text sorting utility without the
  3531. limitations of the DOS SORT command.
  3532.  
  3533. Format
  3534. ------
  3535.  
  3536.     PCSORT [filename] [options]
  3537.  
  3538. PCSORT command line summary:
  3539.  
  3540.     /Sn                 n=size of record in lines (1-9)
  3541.                         Default=1
  3542.  
  3543.     /Pn                 n=sort priority (1-9) Default=1
  3544.  
  3545.     /R                  Sort current priority in
  3546.                         reverse order
  3547.                         Default = ascending
  3548.  
  3549.     /N                  Numeric sort current priority
  3550.                         Default = Alphanumeric
  3551.  
  3552.     /L[n]               Line sort:
  3553.                         n=record sort line (1-9)
  3554.                         default=1
  3555.                         default sort is a line sort
  3556.  
  3557.     /[B][+] nn [xx [y]] Block or column sort:
  3558.                         nn=start column
  3559.                         xx=width
  3560.                         y=sort line (1-9)
  3561.                         defaults:
  3562.                         nn=1;
  3563.                         xx=start column to end of line;
  3564.                         y=1
  3565.  
  3566.     /W [+|-] n          Word sort:
  3567.                         n=word count
  3568.                         default = +1
  3569.                         - n = count from end of record
  3570.  
  3571.     /C                  Case sensitive sort
  3572.                         Default = Case insensitive
  3573.  
  3574. Shown above are the many switches you can use, either
  3575. at the command line or within batch files, to configure
  3576. PCSORT for your own needs. The options listed need be
  3577. used only if you're using PCSORT as a filter -- in
  3578. combination with the DOS redirection characters |, <,
  3579. and >. A common example is piping DOS directory's
  3580. output to a filter and redirecting the filter's output
  3581. to a file.
  3582.  
  3583. PCSORT menu command summary:
  3584.  
  3585.     PgUp/PgDn   Next page
  3586.     Arrow keys  Cursor
  3587.     Home(1)     Beginning of column
  3588.     Home(2)     Top of page
  3589.     Home(3)     Top of text
  3590.     End(1)      End of column
  3591.     End(2)      End of page
  3592.     End(3)      End of text
  3593.     Ctrl-Home   Beginning of text
  3594.     Ctrl-End    End of text
  3595.     Enter       Beginning of next line
  3596.     F1          Displays all sort fields at a glance
  3597.     Alt-F1      Resets all the sort variables to defaults
  3598.     F2          Save file
  3599.     F3          New file
  3600.     F4          Sort text
  3601.     F5          Increase lines per record (1-9)
  3602.     Shift F5    Decrease lines per record
  3603.     /F6         Select next key priority (1-9)
  3604.     Shift F6    Select previous key priority}
  3605.     F7          Sort order (de/ascending)
  3606.     F8          Alphanumeric or Numeric sort
  3607.     F9          Select next Field type:
  3608.                 Line, block, word or none
  3609.     Shift F9    Select previous Field type
  3610.     F10         Mark the record line for line sort
  3611.                 or mark block sort field or select
  3612.                 sort word count
  3613.     Shift F10   Reverse selection of word count
  3614.     Esc         Exit PCSORT
  3615.  
  3616. This listing of PCSORT's navigation keys demonstrates
  3617. the program's versatility in sorting in up to 9
  3618. priority orders. Each priority can be set independently
  3619. of the others. Key commands, in general, operate as you
  3620. might expect. Note, however, the varied uses of the
  3621. Home and End keys for travelling throughout the file;
  3622. each key's role, here, depends on the number of times
  3623. you press it.
  3624.  
  3625. Customizing PCSORT
  3626. ------------------
  3627. Some systems, especially laptops, do not display
  3628. colour contrasts very well. If you find PCSORT hard to
  3629. read, you can force PCSORT to use black-and-white
  3630. attributes by entering the command MODE BW80 before
  3631. running it. The best way to do that is from a batch
  3632. file, as shown:
  3633.  
  3634.     MODE BW80
  3635.     PCSORT %1 %2
  3636.  
  3637. If you have a colour system and PCSORT is using black
  3638. and white attributes, chances are some other
  3639. application has changed the video mode. To encourage
  3640. PCSORT to use colour, issue the DOS command
  3641.  
  3642.     MODE CO80
  3643.  
  3644. before running PCSORT.
  3645.  
  3646. The following instructions will enable you to customise
  3647. the colours used by PCSORT. Start by making a back-up
  3648. copy of PCSORT.COM and then enter
  3649.  
  3650.     DEBUG PCSORT.COM
  3651.  
  3652. You are now ready to modify PCSORT.COM. If at any time
  3653. you make a mistake, you can abort the editing process
  3654. by entering Q. The last two commands that you enter
  3655. after entering any modifications are
  3656.  
  3657.     W
  3658.     Q
  3659.  
  3660. for Write to disk and Quit DEBUG.
  3661.  
  3662. Colour scheme: Enter the following Debug instructions,
  3663. replacing the xx with a hexadecimal colour value. The
  3664. default colour values for the menu colour, the text,
  3665. and the block marker, and their respective descriptions
  3666. are shown as comments to the right of the semicolons.
  3667. Do not type in the comments.
  3668.  
  3669.     E 106 xx  ; 71  Blue on light gray
  3670.     E 107 xx  ; 17  Light gray on blue
  3671.     E 108 xx  ; 31  Blue on cyan
  3672.  
  3673. Alternate colours may be selected from the following
  3674. list. The background colour number is entered for the
  3675. first x and the foreground colour for the second x. Do
  3676. not use a light colour for the background, or the
  3677. display will blink.
  3678.  
  3679.   Dark colours   Light colours
  3680.   ------------   --------------
  3681.   Black    0     Dark Gray 8
  3682.   Blue     1     Lt Blue   9
  3683.   Green    2     Lt Green  A
  3684.   Cyan     3     Lt Cyan   B
  3685.   Red      4     Orange    C
  3686.   Magenta  5     Violet    D
  3687.   Brown    6     Yellow    E
  3688.   Lt Gray  7     White     F
  3689.  
  3690. For example, to change the Block marker colour from
  3691. blue on cyan (31) to blue on light gray (17), you would
  3692. enter
  3693.  
  3694.     E 108 17
  3695.  
  3696. PCSORT turns on the border, and some monitors can not
  3697. handle that. To disable the border, enter
  3698.  
  3699.     E 10C 1
  3700.  
  3701. Replace the 1 with a 0 to re-enable the border. Finish
  3702. the DEBUG session with
  3703.  
  3704.     W
  3705.     Q
  3706. @@PLAY
  3707. PLAY                                 Michael J. Mefford
  3708. Plays tones and tunes on the PC's speaker   Version 1.0
  3709. -------------------------------------------------------
  3710.  
  3711. Purpose
  3712. -------
  3713. Provides many of the music-producing functions of the
  3714. BASIC PLAY statement without the need to work in
  3715. BASIC.
  3716.  
  3717. Format
  3718. ------
  3719.  
  3720.     PLAY[/K]              (Option I)
  3721.  
  3722.     PLAY string[/K]       (Option II)
  3723.  
  3724.     PLAY filespec/F[/K]   (Option III)
  3725.  
  3726. Remarks
  3727. -------
  3728. Entered at the DOS prompt with no arguments on the
  3729. command line (Option I), PLAY looks in the current
  3730. directory for a file named PLAY.DAT and executes the
  3731. commands in that file. The PLAY.DAT file included on
  3732. this disk is "Greensleeves."  The file can be
  3733. examined, and similar files created, with a regular
  3734. ASCII word processor.
  3735.  
  3736. Alternatively, PLAY can use either a command-line
  3737. string (Option II) or any legal DOS filename (Option
  3738. III) to supply the music command arguments. Filenames
  3739. may include a path designation, but must include the
  3740. /F terminator. A sample file "score," STING.DAT is
  3741. contained on this disk.
  3742.  
  3743. Pressing any key while PLAY is executing will
  3744. terminate operation unless the /K switch has been
  3745. added.
  3746.  
  3747. The command set used with PLAY is shown on the
  3748. following page and is exemplified in the PLAY.DAT and
  3749. STING.DAT files.
  3750.  
  3751. The PLAY Command Set
  3752. --------------------
  3753. K   Keyboard. K will cause PLAY not to poll the
  3754.     keyboard during play. If K is not found, any
  3755.     keystroke will exit.
  3756.  
  3757. On  Octave. n is a decimal number between 0 and 6.
  3758.     Middle C starts 03. The default is 04.
  3759.  
  3760. Ln  Length of time the notes will be played until the
  3761.     next L command is encountered. n is a decimal
  3762.     number between 1 and 64. For example, L4 =
  3763.     quarter-note and L8 = eighth note.
  3764.  
  3765. Tn  Tempo is the pace at which the music is played.
  3766.     n is a decimal number between 32 and 255. The
  3767.     larger the number, the faster the pace. The default
  3768.     is T120.
  3769.  
  3770. A-G Letter names corresponding to the notes of the
  3771.     scale. The letter name may be followed by
  3772.     either a # or + for a sharp, or a - for a flat.
  3773.     O3C = middle C.
  3774.  
  3775. Nn  Note to be played. n is a decimal number between
  3776.     1 and 84. Each increment is 1/12 of an octave. N
  3777.     can be used as an alternative to defining a note
  3778.     by a letter and an octave. For example, N37 =
  3779.     middle C.
  3780.  
  3781. Pn  Pause, or rest, for a length defined by n. P works
  3782.     in the same way as the L command above. For
  3783.     example, P2 = a half rest.
  3784.  
  3785. MN  Music Normal. The note is played 7/8 of its
  3786.     specified time, and 1/8 is a rest between notes.
  3787.     This is the default.
  3788.  
  3789. ML  Music Legato. The note is played the full length of
  3790.     time specified.
  3791.  
  3792. MS  Music Staccato. The note is played 3/4 of the time
  3793.     specified, and 1/4 is a rest between notes.
  3794.  
  3795. .   Dot. A dot can follow a letter note or a pause. A
  3796.     dotted note increases play time by half the duration
  3797.     of the note or pause. More than one dot may be used.
  3798. @@PUSHDIR & POPDIR
  3799. PUSHDIR & POPDIR                            John Friend
  3800. Save and restore current directory        Version 1.0
  3801. -------------------------------------------------------
  3802.  
  3803. Purpose
  3804. -------
  3805. This pair of programs provides a way to return
  3806. automatically to your current directory after running
  3807. programs that require directory changing.
  3808.  
  3809. Format
  3810. ------
  3811.  
  3812.     PUSHDIR
  3813.     ... command(s) that run program
  3814.         or change directory ...
  3815.     POPDIR
  3816.  
  3817. Remarks
  3818. -------
  3819. While PUSHDIR and POPDIR can be entered directly from
  3820. the DOS prompt, their primary application is in batch
  3821. files. For example, suppose you create a file named
  3822. 12.BAT that consists of the following four lines:
  3823.  
  3824.     PUSHDIR
  3825.     CD\LOTUS
  3826.     123
  3827.     POPDIR
  3828.  
  3829. Suppose also that 12.BAT, PUSHDIR.COM, and POPDIR.COM
  3830. are either in your root directory or in a subdirectory
  3831. on the PATH specified in your AUTOEXEC.BAT file.
  3832. Assume, finally, that you are currently in your word
  3833. processing subdirectory (\WP), but need some
  3834. information from a 1-2-3 spreadsheet. If you now enter
  3835.  
  3836.     12<CR>
  3837.  
  3838. from the DOS prompt, PUSHDIR stores the \WP (your
  3839. current directory) on its stack and DOS changes to the
  3840. \LOTUS subdirectory and runs 1-2-3. When you exit from
  3841. 1-2-3, you would normally be left in the \LOTUS
  3842. subdirectory. A DOS CD command in 12.BAT after the 123
  3843. line could return you to a specified directory every
  3844. time you terminated 1-2-3, of course. But POPDIR
  3845. returns you to whatever subdirectory you were in when
  3846. you invoked 1-2-3 -- in this case, to your \WP
  3847. subdirectory.
  3848.  
  3849. PUSHDIR can accommodate up to six levels of directories
  3850. on its stack, permitting considerable programming
  3851. flexibility in constructing batch files.
  3852.  
  3853. Notes
  3854. -----
  3855. 1. PUSHDIR and POPDIR require DOS 2.0 or later.
  3856. @@RUN
  3857. RUN                                  Michael J. Mefford
  3858. Runs programs from any directory        Version 1.0
  3859. -------------------------------------------------------
  3860.  
  3861. Purpose
  3862. -------
  3863. Executes .COM, .EXE, or .BAT files from any disk
  3864. directory without requiring changing directories or
  3865. specifying a path to the file.
  3866.  
  3867. Format
  3868. ------
  3869.  
  3870.     RUN [/C|/S][d:][directory]filename [args]
  3871.  
  3872. Remarks
  3873. -------
  3874. Unless the optional directory parameter is specified,
  3875. RUN defaults to a diskwide search to find the
  3876. executable filename. Any additional arguments (args)
  3877. that would normally be specified on the DOS command
  3878. line may be added to the program RUN is called upon to
  3879. execute. A drive specifier (d:) must be used if the
  3880. file to be run is not on the current drive. During
  3881. its search, any keypress will abort the operation of
  3882. RUN.COM.
  3883.  
  3884. RUN can either operate from the current directory (its
  3885. default mode, designated by the optional /S switch) or
  3886. it can change to the directory (/C) in which it finds
  3887. the desired program before executing it. The /C
  3888. option is required by programs such as WordStar, which
  3889. can find their overlay files only when loaded from
  3890. within the directory in which they are stored. The /C
  3891. option is also required to run .BAT files under DOS
  3892. 2.x (see Note below).
  3893.  
  3894. Note
  3895. ----
  3896. RUN overcomes the inability of DOS 2.x to handle .COM
  3897. and .EXE files that are prefixed with a path. Batch
  3898. files under DOS 2.x, however, still require RUN's /C
  3899. option. If desired, the /C option can be made the RUN
  3900. default mode, with /S as its selectable alternative.
  3901. To make this change, put a copy of RUN in the same
  3902. directory with DEBUG.COM, and enter the following
  3903. commands:
  3904.  
  3905.      DEBUG RUN.COM
  3906.      E 15B 1
  3907.      E 1E8 "C"
  3908.      W
  3909.      Q
  3910.  
  3911. If you later upgrade your version of DOS and wish to
  3912. reverse the process, use the same procedure with the
  3913. following commands:
  3914.  
  3915.      DEBUG RUN.COM
  3916.      E 15B 0
  3917.      E 1E8 "S"
  3918.      W
  3919.      Q
  3920. @@SCHEDULE
  3921. SCHEDULE                             Michael J. Mefford
  3922. Appointment scheduler and diary            Version 1.0
  3923. -------------------------------------------------------
  3924.  
  3925. Purpose
  3926. -------
  3927. An appointment scheduler that provides both a monthly
  3928. overview and a detailed daily screen with notepad and
  3929. optional reminder chime; includes editing, printing,
  3930. and archiving facilities and can be used as either a
  3931. standalone or a memory-resident utility (15KB RAM
  3932. required).
  3933.  
  3934. Format
  3935. ------
  3936.  
  3937.     SCHEDULE [/I] [/U] [/Hn] [/Pn...n] [/G] [/A] [/C]
  3938.              [/M] [/B]
  3939.  
  3940. Remarks
  3941. -------
  3942. When installed as memory-resident by using the
  3943. optional /I switch, SCHEDULE automatically reminds you
  3944. of appointments by chiming and popping up its
  3945. appointment screen. The default hotkey is Alt-C. This
  3946. can be changed with the /H switch to any alphanumeric
  3947. Ctrl- or Alt-key combination (n), either at or after
  3948. installation. To make Ctrl-S the hotkey, enter
  3949. SCHEDULE /H Ctrl S. The /P parameter allows sending
  3950. up to 10 decimal printer set-up codes (n...n). Include
  3951. the /G switch for printers that support the IBM
  3952. line-drawing characters.
  3953.  
  3954. The reminder chime can be disabled by including the /C
  3955. switch, and automatic screen pop-up can be avoided by
  3956. using the /A option. The /M parameter prevents the
  3957. default midnight pop-up so overnight programs can be
  3958. run. If screen contrast is a problem (e.g. with
  3959. laptops), use the /B (black-and-white) option.
  3960. SCHEDULE can be uninstalled with the /U option,
  3961. subject to usual limitations.
  3962.  
  3963. SCHEDULE.COM and the two files it creates
  3964. (SCHEDULE.DAT and SCHEDULE.ASC) must be stored in the
  3965. current directory when the program is run as a
  3966. standalone or installed as a memory resident. Batch
  3967. files will simplify this requirement. As a text-based
  3968. program, SCHEDULE will not come up over a graphics
  3969. screen (e.g. Microsoft Windows); it must be installed
  3970. before SideKick (if used).
  3971.  
  3972. SCHEDULE.DAT contains all appointment records saved by
  3973. pressing F2 (see command summary overside). It can be
  3974. purged or archived in whole or part by pressing F4. A
  3975. suitable date up to which to purge can be selected by
  3976. F3 (today) or with the PgUp/PgDn keys (moves by days)
  3977. or with Ctrl-PgUp/PgDn (moves by months). F8 selects
  3978. an individual day for purging. Menu prompts are
  3979. provided for determining whether the selected records
  3980. are deleted or automatically appended to SCHEDULE.ASC
  3981. to provide a permanent record usable by any ASCII
  3982. editor.
  3983.  
  3984. The monthly ("calendar") and daily ("appointment")
  3985. displays cover the period from 6:30 A.M. to 9:30 P.M.
  3986. in hour and half-hour increments, respectively. Within
  3987. each screen the following commands can be executed:
  3988.  
  3989. Keystroke       Calendar Screen   Appointment Screen
  3990. ---------       ---------------   ------------------
  3991. PgUp/PgDn       Next month        Next Day
  3992. Ctrl-PgUp/PgDn  Next year         Next Month
  3993. Arrow keys      Select day        Navigate screen
  3994. Home(1)         Beg. of column    Beg. section column
  3995. Home(2)         Beg. of calendar  Top of section
  3996. End(1)          End of column     End section column
  3997. End(2)          End of calendar   End of section
  3998. Ctrl-Home       Beg. of calendar  Beg. of section
  3999. Ctrl-End        End of calendar   End of section
  4000. Ctrl <-         Beg. of column    Beg. section column
  4001. Ctrl ->         End of Column     End  section column
  4002. Enter           Select app't.     Enter
  4003. Esc             Exit Schedule     Return to Calendar
  4004. F2              Save app'ts.      Save app'ts.
  4005. F3              Today             Today
  4006. F4              Purge app'ts.     Purge app'ts.
  4007. F5              Print calendar    Print app'ts.
  4008. F6              Go to Notepad
  4009. Shift-F6        undefined         Clear section
  4010. Ctrl-F6         undefined         Clear all 3 sections
  4011. Tab             undefined         Go to next section
  4012. Shift-Tab       undefined         Go to prev. section
  4013. Del             undefined         Del. char. at cursor
  4014.  
  4015. Customising Schedule
  4016. --------------------
  4017. The following instructions will enable you to customise
  4018. the colours used by SCHEDULE and to change the tone of
  4019. its chime. Start by making a backup copy of
  4020. SCHEDULE.COM and then enter:
  4021.  
  4022.     DEBUG SCHEDULE.COM
  4023.  
  4024. You are now ready to modify SCHEDULE.COM. If at any
  4025. time you make a mistake, you can abort the editing
  4026. process by entering Q. After entering any desired
  4027. modifications last two commands you enter are:
  4028.  
  4029.     W
  4030.     Q
  4031.  
  4032. for Write to disk and Quit DEBUG.
  4033.  
  4034. COLOUR SCHEME
  4035. Enter the following DEBUG (E)nter instructions,
  4036. replacing the xx with a new hexadecimal colour value.
  4037. The default colour values and descriptions that
  4038. SCHEDULE uses are shown as comments, to the right of
  4039. the semi-colons.
  4040.  
  4041.     E 578 xx   ; 17 Lt. gray on blue.
  4042.     E 579 xx   ; 71 Blue on lt. gray.
  4043.     E 57A xx   ; 1E Yellow on blue.
  4044.     E 57B xx   ; 3B Bright cyan on cyan.
  4045.     E 57C xx   ; 1B Bright cyan on blue.
  4046.     E 57D xx   ; 7E Yellow on lt. gray.
  4047.  
  4048. Alternative colours may be selected from those listed
  4049. below. The background colour number is entered for the
  4050. first x and the foreground colour for the second x. Do
  4051. not use a light colour for the foreground, or the
  4052. display will blink.
  4053.  
  4054.     Dark colours    Light colours
  4055.  
  4056.     0 Black        8 Dark gray
  4057.     1 Blue         9 Lt. blue
  4058.     2 Green        A Lt. green
  4059.     3 Cyan         B Lt. cyan
  4060.     4 Red          C Orange
  4061.     5 Magenta      D Violet
  4062.     6 Brown        E Yellow
  4063.     7 Lt. gray     F White
  4064.  
  4065. For example, to change the yellow on blue (1E) to red
  4066. on blue (14) you would enter
  4067.  
  4068.     E 57A 14
  4069.  
  4070. CHIME TONE
  4071. The value used to calculate the tone of the chime is a
  4072. hexadecimal number that can range from a low of 0025 to
  4073. a high of 1150. The default value is 0416. You'll find
  4074. numbers close to the default more pleasing. To change
  4075. the tone, enter
  4076.  
  4077.     E 584 yy xx
  4078.  
  4079. where xxyy is the new tone divisor. For example, to
  4080. change the tone from the 416 Hz C note to an A (a
  4081. divisor of 370), you would enter
  4082.  
  4083.     E 584 70 03
  4084.  
  4085. Note that the numbers must be entered exactly as shown
  4086. above. The 70 03 (yy xx) represent 0370 (xxyy).
  4087. @@SWEEP
  4088. SWEEP                                   Charles Petzold
  4089. Repeat command in each subdirectory         Version 1.0
  4090. -------------------------------------------------------
  4091.  
  4092. Purpose
  4093. -------
  4094. Causes a command to be successively executed in every
  4095. subdirectory on a hard disk.
  4096.  
  4097. Format
  4098. ------
  4099.  
  4100.     SWEEP command
  4101.  
  4102. Remarks
  4103. -------
  4104. SWEEP starts from the current directory. In order to
  4105. use SWEEP to extend the range of a command to all the
  4106. subdirectories on a disk, use CD (if necessary) to make
  4107. the root directory your current directory. From the
  4108. root directory, the command
  4109.  
  4110.     SWEEP DIR
  4111.  
  4112. will display the listings, by subdirectory, of every
  4113. non-hidden file on the disk. To erase all the .BAK
  4114. files on a disk you need only get into the root
  4115. directory and issue the command
  4116.  
  4117.     SWEEP DEL *.BAK
  4118.  
  4119. SWEEP itself will not accept parameters other than its
  4120. command. Thus, if you are on drive C: and wish a
  4121. directory of all files on drive D: to be sent to your
  4122. printer, you must first make drive D: the current drive
  4123. before you issue the command
  4124.  
  4125.     SWEEP DIR > LPT1
  4126.  
  4127. (In this case you would either need a copy of SWEEP.COM
  4128. on drive D: or else drive D: would have to be listed on
  4129. your PATH.)
  4130.  
  4131. SWEEP can execute .BAT file commands (and even non-DOS
  4132. commands, such as LOCATE.COM). A useful file called
  4133. CLEAN.BAT might consist of the three lines
  4134.  
  4135.     DEL *.BAK
  4136.     DEL *.TMP
  4137.     DEL *.OBJ
  4138.  
  4139. From the root directory, if you then enter
  4140.  
  4141.     SWEEP CLEAN
  4142.  
  4143. all .BAK, .TMP, and .OBJ files will be erased from the
  4144. disk.
  4145.  
  4146. Notes
  4147. -----
  4148. 1. Requires DOS 2.0 or later.
  4149. @@TED
  4150. TED                                         Tom Kihlken
  4151. Text editor                                 Version 1.1
  4152. -------------------------------------------------------
  4153.  
  4154. Purpose
  4155. -------
  4156. A small, full-screen editor for line-oriented files of
  4157. up to 64K in length that supports scrolling, cut,
  4158. copy, paste, and printing operations, and permits
  4159. entry of all members of the IBM character set.
  4160.  
  4161. Format
  4162. ------
  4163.  
  4164.     TED [filespec]
  4165.  
  4166. Remarks
  4167. -------
  4168.  
  4169. TED will open and read a file whose name (and path, if
  4170. required) are supplied initially. If no filespec is
  4171. provided it will open a new file and prompt for a
  4172. filename when the Save and Exit command (F7) is
  4173. given. The original of a modified file is saved with
  4174. a .BAK extension. The Abort command (F1), when
  4175. verified, abandons any modifications and leaves the
  4176. original file intact.
  4177.  
  4178. Lines may be of any length, and each must be
  4179. terminated by pressing Enter. Lines longer than the
  4180. screen width display a diamond in the rightmost
  4181. column. Offscreen characters (up to 248 columns) may
  4182. be viewed by using the Ctrl-<arrow> keys. Lines may
  4183. be broken by pressing Enter at any point, and may be
  4184. conflated by pressing Delete at the line end.
  4185.  
  4186. A block of text is defined by toggling on the Mark
  4187. command (F4) and moving the cursor with the arrow
  4188. keys. The Marked area is shown in inverse video.
  4189. Pressing F3 prints the blocked text; F5 (Cut) removes
  4190. it to a buffer from which it can be Pasted (F6) at any
  4191. point where the cursor is located. The paste buffer
  4192. remains intact until another section is marked and
  4193. cut.
  4194.  
  4195. Pressing F8 deletes to the end of a line; F9 deletes
  4196. the entire line. F10 restores the most recent deletion
  4197. of F8 or F9. The Undo command (F2) restores letters
  4198. deleted by the Delete (but not by the Backspace) key
  4199. if the cursor has not been moved.
  4200.  
  4201. The Home and End keys move the cursor to the beginning
  4202. and end of the current screen line; the Tab key moves
  4203. to the next column evenly divisible by eight. Text is
  4204. entered in Insert mode by default; pressing the Insert
  4205. key toggles to overstrike mode. TED configures itself
  4206. to the display in use and supports EGA and VGA text
  4207. modes other than the standard 80 columns by 25 rows.
  4208. PgUp and PgDn scroll the file by the number of rows
  4209. displayed, minus 5. Ctrl-PgUp and Ctrl-PgDn move to
  4210. the top and bottom of the file.
  4211.  
  4212. Any character in the IBM set can be entered by
  4213. pressing the Alt key, typing its ASCII value on the
  4214. numeric keypad, then releasing the Alt key.
  4215. @@TRACKR
  4216. TRACKR                                     Scott Chaney
  4217. Time tracking utility                      Version 1.2a
  4218. -------------------------------------------------------
  4219.  
  4220. Purpose
  4221. -------
  4222. Trackr is a memory-resident utility that keeps track of
  4223. the time you spend on a project. If you bill clients
  4224. by the hour it can multiply the logged time by your
  4225. hourly rate using the information you enter in a
  4226. client data file and prepare a printable billing
  4227. report.
  4228.  
  4229. Remarks
  4230. -------
  4231. A 7K memory-resident utility, TRACKR lets you create or
  4232. switch tasks at any time, stop the clock temporarily,
  4233. switch applications with the clock running, combine
  4234. multiple separately timed tasks for the same client
  4235. into a single billing report, and update your task log
  4236. at a keystroke. Increments for partial-hour
  4237. calculations can be as small as 1 minute. If at any
  4238. time you are in a TRACKR menu and wish to return to
  4239. your application, simply press Esc key. If you're two
  4240. or more menus deep, you will have to hit the Esc key
  4241. twice.
  4242.  
  4243. You can use any ASCII editor -- DOS 5.0's EDIT, PC
  4244. Magazine's TED, or even your word processor (in its
  4245. nondocument mode) -- to create CLIENT.DAT, the file
  4246. holds the billing information for each of your
  4247. accounts. A typical entry in CLIENT.DAT might be:
  4248.  
  4249.     ABC Developments Ltd
  4250.     123 Anystreet
  4251.     Anytown, AT1 4RS
  4252.     0039 49671
  4253.     \30\15
  4254.  
  4255. After the line containing the client name, you can
  4256. include any number of additional lines (each
  4257. terminated by pressing Enter) that you want TRACKR to
  4258. print out in its billing report. In the above sample,
  4259. for instance, you might want to add an account number
  4260. code for the client, or you might decide you don't
  4261. want to include the phone number on the invoice.
  4262. Anything between the client's name and the last line
  4263. of each client entry is optional.
  4264.  
  4265. The last line in each client entry is the only one that
  4266. must follow a specific format: \$$$\mm\, where $$$ is
  4267. the rate at which you bill this client per hour, and
  4268. mm is the minimum billing increment in minutes. The
  4269. last line in the sample entry above, therefore, tells
  4270. TRACKR that you bill ABC Developments at 30 punds per
  4271. hour and that partial-hour calculations should be
  4272. rounded up to the next 15 minutes. Note that the
  4273. billing rate and increment line must be the only line
  4274. whose first nonspace character is a backslash.
  4275.  
  4276. Your CLIENT.DAT file will hold the multiline entries
  4277. for up to 30 clients, and entries can be separated by
  4278. blank lines or not, as you choose. If you put more
  4279. than 30 clients in your CLIENT.DAT file, TRACKR will
  4280. notify you with the message, "Ignoring Extra Clients".
  4281. You can either continue (but not have access to all
  4282. your clients) or uninstall TRACKR, edit your
  4283. CLIENT.DAT file down to 30 clients, and run TRACKR
  4284. again. Do not edit CLIENT.DAT while TRACKR is running.
  4285.  
  4286. Using TRACKR
  4287. ------------
  4288. When you have created your CLIENT.DAT file, you're
  4289. ready to install TRACKR. You can do this simply by
  4290. running it, either from the DOS prompt or as a line in
  4291. your AUTOEXEC.BAT file. The full syntax for TRACKR is
  4292.  
  4293.     TRACKR [/#] [/U] [/I d:\path]
  4294.  
  4295. THE "CLIENT.DAT" FILE MUST BE IN THE SAME SUBDIRECTORY
  4296. WHERE THE .LOG FILES ARE TO BE LOCATED. THE FIRST
  4297. TIME YOU USE TRACKR YOU MUST TELL IT WHERE THE
  4298. CLIENT.DAT FILE AND THE .LOG FILES ARE TO BE KEPT.
  4299.  
  4300. You do this by using the "/I d:\path" command line
  4301. option. For example, if want your log reports kept in
  4302. the C:\BILLING subdirectory, then move CLIENT.DAT into
  4303. that subdirectory and start TRACKR with the following
  4304. line:
  4305.  
  4306.     TRACKR /I C:\BILLING
  4307.  
  4308. TRACKR will thereafter remember where you keep its
  4309. ancillary files, so you need only use the /I switch
  4310. once.
  4311.  
  4312. When you're logged onto a task, TRACKR periodically
  4313. displays the name of the active task and the elapsed
  4314. time (in hh:mm) since you started it. This reminder
  4315. appears in the upper-right corner of your screen for
  4316. 5 seconds, and by default it is repeated once a minute.
  4317. You can disable the reminder or change how often it
  4318. appears by using the /# command line switch when you
  4319. install TRACKR. The n value is the number of minutes
  4320. that should elapse between reminders, and it can range
  4321. from 0 (no reminder) through 9. When in Pause mode
  4322. (described below), the reminder pops-up as before,
  4323. except that instead of displaying elapsed task time it
  4324. reminds you that you're in PAUSE mode.
  4325.  
  4326. The /U command line switch allows you to uninstall
  4327. TRACKR from memory, subject to the usual limitation
  4328. that TSR's must be uninstalled in the reverse order in
  4329. which they were loaded. If at any time you forget the
  4330. command syntax, simply enter TRACKR /?.
  4331.  
  4332. Once loaded, TRACKR pops-up when you press Ctrl-R. Any
  4333. time you are in a TRACKR menu and wish to return to
  4334. your application, simply press Esc.
  4335.  
  4336. TRACKR can pop-up only in text modes. Thus, if you need
  4337. to access the utility while running a program that
  4338. uses graphics modes, you must get to a part of the
  4339. program that uses text mode before the hotkey will
  4340. have any effect. If necessary, you can go out to the
  4341. DOS prompt, using the application's "shell" function.
  4342. Only in the worst case might you temporarily have to
  4343. exit the application.
  4344.  
  4345. The first time you use TRACKR, it will notice that you
  4346. haven't created any tasks to be timed for any of the
  4347. clients listed in your CLIENT.DAT file. TRACKR will
  4348. therefore simply present you with a list of the
  4349. clients. (Only the first 21 characters of each client's
  4350. name will be shown.) When you select a client you'll
  4351. be asked to provide a Task Name.
  4352.  
  4353. The Task Name can be 8 characters long and must not
  4354. contain anything that cannot be part of a legal DOS
  4355. filename or begin with a backslash. (TRACKR will
  4356. append the extension .LOG to the Task Name, and this
  4357. combination becomes the filename of the billing
  4358. report.) When you type in the desired Task Name and
  4359. hit Enter, TRACKR will prompt you for a comment, the
  4360. can be up to 30 characters and is designed for short
  4361. notes or identifiers such as "First Qtr Results."
  4362.  
  4363. Whether you include a comment or not, hit Enter once
  4364. again. You will be returned to the application in
  4365. which you were working (or to DOS, if you shelled
  4366. out), and TRACKR will start the meter on the task you
  4367. have just created for the selected client.
  4368.  
  4369. TRACKR menus
  4370. ------------
  4371. If you now hit Ctrl-R again, the task you just created
  4372. (along with others, as your task list grows) will
  4373. appear on the left side of the menu window. On the
  4374. right side are five menu choices: Pause, Log Off,
  4375. Switch, Create New Task, and Update Task Log. Press
  4376. the highlighted letter to select the desired function,
  4377. or press Esc to return to your application.
  4378.  
  4379. If you're interrupted during a task and want to suspend
  4380. billing time during the interruption, press P for
  4381. Pause. That way you don't have to log off and relog
  4382. onto the same task later. When you want to resume,
  4383. press Ctrl-R to get to the menu and hit R for Resume.
  4384.  
  4385. Press L from the menu to Log Off the currently active
  4386. task. TRACKR will then stop charging time to the
  4387. active task, write the time information to that task's
  4388. log file, and recalculate the billing entries in that
  4389. task's log file.
  4390.  
  4391. Pressing S (for Switch) provides a shortcut option that
  4392. logs you off the current task and immediately logs you
  4393. onto another. This is particularly handy when you're
  4394. working on one project and get a billable telephone
  4395. call for another client. Note that each available task
  4396. is identified in the menu by both name and number;
  4397. when switching tasks you enter the number  of the new
  4398. task.
  4399.  
  4400. To create a new task, you press C for Create Task at
  4401. the menu. This will initially bring up an
  4402. alphabetical list of all the clients from the
  4403. CLIENT.DAT file, displayed on the left side of the
  4404. pop-up window. Since TRACKR can only display five
  4405. clients at a time, you may need to use the PgUp and
  4406. PgDn keys to go though the entire list. Select the
  4407. client to be billed (again, by  number), and you'll be
  4408. asked to provide a Task Name (remember, it can only be
  4409. 8 characters). You'll again have the option of
  4410. entering a comment. Once you press Enter, TRACKR logs
  4411. you onto the new task and returns you to your
  4412. application.
  4413.  
  4414. Over time, you will probably create more tasks than the
  4415. 10 that can be displayed at once in the menu window.
  4416. The PgUp and PgDn keys will again take you through the
  4417. entire list, which is limited to a total of 50 tasks
  4418. (.LOG files). If you create more than 50 tasks, TRACKR
  4419. will warn you when you load it into memory.
  4420.  
  4421. Since all the tasks you create are listed
  4422. alphabetically rather than being grouped by client,
  4423. you may want to include a client code in every Task
  4424. Name. For example, you may want to have a Phone Task
  4425. for each client so that when he calls you can
  4426. immediately start tracking the amount of time you're
  4427. on the phone with him. Thus, if you have three
  4428. clients--ABC Corp., XYZ Corp., and PC Corp--you might
  4429. have Task Names of ABCPHON, XYZPHON, and PCPHON.
  4430.  
  4431. As mentioned earlier, TRACKR takes a Task Name, such as
  4432. "proposal," and creates a PROPOSAL.LOG file from it.
  4433. The .LOG file for each task contains the client
  4434. information entered in the CLIENT.DAT file, plus an
  4435. entry for each time you start the task. Each entry
  4436. consists of the date, the time you began the task, the
  4437. time you stopped the task, the time spent on the task,
  4438. and any comments you entered in the Comment field. The
  4439. file also tallies the time totals for each day and
  4440. multiplies these by the billing rate, thus coming up
  4441. with a billable amount for each day. The last entry in
  4442. the .LOG file is the total amount of time spent and
  4443. money due for the entire task.
  4444.  
  4445. If you want to update the calculations without leaving
  4446. the task, you simply hit U, for Update a task, which
  4447. is the final selection from the menu. Note that when
  4448. TRACKR calculates the time you spent working on a task
  4449. it always rounds up to the next billing increment: If
  4450. you work on a particular task for 16 minutes and you
  4451. bill in 15 minute intervals, TRACKR will bill for 30
  4452. minutes. Since the log file shows the actual log-on
  4453. and log-off times, you may occasionally want to adjust
  4454. the log-off time shown in the file to avoid
  4455. overcharging. TRACKR will update the calculations,
  4456. based on the corrected time, the next time you perform
  4457. the task or use the Update function.
  4458.  
  4459. Rounding up to the next billing increment can cause
  4460. similar confusion when you encounter a series of
  4461. interruptions and are using the Pause feature. Each
  4462. time you resume, a new entry is started, and rounding
  4463. up a series of short fractional increments can plainly
  4464. result in overcharging. One solution is to bill in
  4465. smaller minute increments (down to one minute), but
  4466. again there will be times when you want to edit the
  4467. file and update it before printing it for your client.
  4468.  
  4469. You can use any ASCII editor to edit a .LOG file and
  4470. delete, add or adjust any entry. When editing, be sure
  4471. to keep the columns lined up, and use spaces (not
  4472. tabs) to keep everything in line. Note, however, that
  4473. when TRACKR updates a .LOG file, it pays attention
  4474. only to the date, start time, end time, and comment
  4475. fields. If you need to adjust a total, therefore, you
  4476. must do so by adjusting the start or end times.
  4477. TRACKR's recalculations will wipe out any editing
  4478. changes you make in a total field. You can, however,
  4479. edit the client information shown in the .LOG file,
  4480. including billing rate and billing increments, and
  4481. these changes will be reflected at the next update.
  4482.  
  4483. When the .LOG file is finalised, you can use your word
  4484. processor, any print utility, or the DOS command
  4485.  
  4486.     TYPE filename > PRN
  4487.  
  4488. to print out the billing report.
  4489.  
  4490. When no task is currently being metered, pressing
  4491. Ctrl-R brings up a menu with only three choices on the
  4492. right side of the menu:  Create new task, Update task
  4493. log, and Log in new task. Only the L (for Log in)
  4494. option is new here, and the procedure is familiar.
  4495. After pressing L, you select the desired task from the
  4496. list by entering its number rather than its name and
  4497. then by entering a comment, if desired. TRACKR will
  4498. immediately return you to your application and start
  4499. tracking your time on this task.
  4500.  
  4501. Two final notes are in order. You must always load
  4502. TRACKR before you load Microsoft Windows. If TRACKR
  4503. still doesn't pop up in the application you're running
  4504. under Windows, then open the DOS window in the Main
  4505. folder and pop it up from there. Note also that you may
  4506. have to install TRACKR before you open other DOS
  4507. applications. If you shell out from a program and try
  4508. to load TRACKR, you may not be able to get it to pop
  4509. up within the application.
  4510.  
  4511. Scott Chaney is the founder of RSE, a company in
  4512. Auburn, Washington, that specialises in the
  4513. development of productivity shareware for PCs.
  4514.  
  4515. Revision History
  4516. ----------------
  4517.  
  4518. Version 1.0     Initial Release
  4519.         1.1     1/7/92  Bug fixes
  4520.         1.2     1/29/92 Fixed errors in reading
  4521.                 CLIENT.DAT and attempted pop-ups
  4522.                 during non-text screens.
  4523. @@WAITASEC
  4524. WAITASEC                                Charles Petzold
  4525. Permits backward scrolling of DOS screen    Version 1.0
  4526. -------------------------------------------------------
  4527.  
  4528. Purpose
  4529. -------
  4530. Uses the single-keystroke ScrollLock key to halt a
  4531. fast-scrolling display; then allows you to scroll
  4532. backwards, recalling previous screens.
  4533.  
  4534. Format
  4535. ------
  4536.  
  4537.     WAITASEC       (loads memory-resident program)
  4538.  
  4539. then
  4540.  
  4541.     <ScrollLock>   (activates WAITASEC)
  4542.  
  4543. Remarks
  4544. -------
  4545. WAITASEC is a memory-resident program that is normally
  4546. loaded through your AUTOEXEC.BAT file. Thereafter,
  4547. alternately pressing and releasing the ScrollLock key
  4548. will halt and restart a scrolling display, e.g. a
  4549. lengthy DIR listing.
  4550.  
  4551. While holding down the ScrollLock key to freeze the
  4552. display, if you also press one of the cursor movement
  4553. keys (Home, Up Arrow, PgUp, End, Down Arrow, or PgDn),
  4554. the display will not resume scrolling when you release
  4555. the ScrollLock key. Thereafter, the Up and Down arrow
  4556. keys move the display by one line, the PgUp and PgDown
  4557. move it by 25 lines, and the Home and End keys take
  4558. you to the beginning and end of the stored screen
  4559. memory. Pressing any non cursor key at this point
  4560. deactivates the stored mode, and the original
  4561. scrolling resumes.
  4562.  
  4563. Notes
  4564. -----
  4565. 1.   WAITASEC will not work with an 80-column
  4566.      colour display if an unmodified PC-DOS
  4567.      ANSI.SYS has been loaded. (The ANSI.SYS
  4568.      that comes with various versions of MS-DOS
  4569.      does not cause problems with WAITASEC.)
  4570.      To run with IBM's ANSI.SYS, make a copy
  4571.      (MODANSI.SYS) of the original ANSI.SYS
  4572.      and use DEBUG to patch the copy as
  4573.      follows:
  4574.  
  4575.      DEBUG MODANSI.SYS
  4576.      E 29D 90 90
  4577.      E 2A1 90 90
  4578.      W
  4579.      Q
  4580.  
  4581.      Put the modified MODANSI.SYS in your
  4582.      CONFIG.SYS file in place of ANSI.SYS.
  4583.  
  4584. 2.   Because of the way they handle TTY
  4585.      output, certain EGA cards will not
  4586.      permit WAITASEC to scroll backwards.
  4587.      This problem can often be cured by
  4588.      adding MODANSI.SYS, as above.
  4589.  
  4590. 3.   WAITASEC does not save your current
  4591.      display screen.
  4592.  
  4593. 4.   While WAITASEC has been found compatible
  4594.      with XyWrite III (XYKBD.COM loaded) on a
  4595.      PC/AT, as with other memory-resident
  4596.      programs, unforeseen hardware and
  4597.      software incompatibilities may be
  4598.      encountered.
  4599. @@ZCOPY
  4600. ZCOPY                                      Bob Flanders
  4601. High-speed serial file transfer            Version 1.4R
  4602. -------------------------------------------------------
  4603.  
  4604. Purpose
  4605. -------
  4606. Transfers files at high speed, via a serial link,
  4607. between two PCs. It can be used to move files
  4608. between machines that do not share a common disk
  4609. format, such as a laptop and desktop PC or to
  4610. conveniently move large quantities of data between
  4611. two standalone PCs. ZCOPY can also be used with the
  4612. PCREMOTE program included on this disk to move files
  4613. via modem.
  4614.  
  4615. Format
  4616. ------
  4617.  
  4618.     ZCOPY source [target] [/w][/n][/u][/o][/a][/p][/d]
  4619.  
  4620. Remarks
  4621. -------
  4622. The two machines must be IBM-compatible and must be
  4623. connected by a standard "null modem" cable. ZCOPY is
  4624. executed, with appropriate parameters, on both
  4625. machines; a 30-second (default) connect timeout is
  4626. provided.
  4627.  
  4628. On the sending machine both a source (filename plus any
  4629. needed drive and path) and a target (COM1 or COM2) must
  4630. be specified. ZCOPY supports the * and ? DOS filename
  4631. "wildcards," but it does not permit renaming files
  4632. during transfer. On the receiving machine the source is
  4633. COM1 or COM2, and the target, if specified, must be a
  4634. directory path. (Any needed subdirectories must be
  4635. created on the receiving machine before using ZCOPY.)
  4636.  
  4637. The optional /w and /n switches operate before
  4638. connection is established, and so are entered on the
  4639. ZCOPY command line of each machine. The /w parameter
  4640. prolongs the default connection timeout indefinitely;
  4641. it can be cancelled with Ctrl-Break. The /n parameter
  4642. sets the highest bit-per-second (bps) rate at which
  4643. ZCOPY will attempt to transfer data. If used, it must
  4644. be the same on both machines. The default is /1 (115
  4645. kbps). Other acceptable values are /2 through /6 (57.6
  4646. kbps, 38.4 kbps, 19.2 kbps, 9600 kbps, and 4800 kbps,
  4647. respectively). If ZCOPY cannot maintain error-free
  4648. transfer at a given transfer rate, it automatically
  4649. steps down to the next lower speed.
  4650.  
  4651. The other optional parameters may be entered on either
  4652. machine's ZCOPY command line. The /u (Update) switch
  4653. permits overwriting same-named files on the receiving
  4654. machine without operator confirmation if the source
  4655. file is more recent. The /o (Overwrite) switch
  4656. suppresses the confirmation prompt for all files. By
  4657. default, when ZCOPY receives a disk-full signal, before
  4658. aborting it tries to find a smaller selected source
  4659. file that will fit on the receiving disk. The /a (Abort
  4660. on Full) aborts at the first disk-full indication. The
  4661. /p (Pause) switch creates a pause before the transfer
  4662. operation begins after the connection between machines
  4663. has been made, permitting changing a disk. The /d
  4664. option changes the date of a received file to that of
  4665. the receiving machine.
  4666.  
  4667. Null modem cable
  4668. ----------------
  4669. A Null modem cable is one that allows data to be
  4670. transmitted directly between two PCs and most dealers
  4671. will be able to supply a suitable one. If you need to
  4672. have one made, ZCOPY's standard configuration is:
  4673.  
  4674. 1st Machine    2nd Machine
  4675. -----------    -----------
  4676.   PIN               PIN
  4677.    2   <---------->  3
  4678.    3   <---------->  2
  4679.    7   <---------->  7
  4680.  
  4681. All other leads are optional and are not used by ZCOPY.
  4682.  
  4683. Transferring ZCOPY without common media
  4684. ---------------------------------------
  4685. If you find yourself in the situation where you have
  4686. ZCOPY one one machine but not on the other and can't
  4687. get ZCOPY on a disk for the other machine, you can
  4688. use the following procedure to transfer ZCOPY itself
  4689. over the serial link.
  4690.  
  4691. 1. Connect the two machines together via the null
  4692.    modem cable. You must know which communications
  4693.    ports you are using.
  4694.  
  4695. 2. At each machine, set the communications port to
  4696.    the same communications parameters use the DOS
  4697.    MODE command. Enter:
  4698.  
  4699.    MODE COM1:1200,N,8,1
  4700.  
  4701.    Substitute COM2, COM3 or COM4 if appropriate on
  4702.    each machine but keep the other values the same.
  4703.  
  4704. 3. On the machine receiving ZCOPY, do the following
  4705.    (without the comments):
  4706.  
  4707.    A>COPY CON TMP.DBG ; Build the debug script
  4708.    n zcopy.com        ; Name of the received program
  4709.    a 5000             ; Assemble at a high address
  4710.    CALL    5016       ; Get low character of count
  4711.    MOV     CL,AL      ; cl = low byte
  4712.    CALL    5016       ; .. Get high character
  4713.    MOV     CH,AL      ; cx = length of program
  4714.    PUSH    CX         ; .. save it
  4715.    MOV     DI,0100    ; di -> output area for program
  4716.    CALL    5016       ; Get program character
  4717.    STOSB              ; Store it
  4718.    LOOP    500E       ; .. Loop until all received
  4719.    POP     CX         ; cx = length for write
  4720.    INT     3          ; .. return to debug
  4721.    ADD     DX,+05     ; dx -> line status register
  4722.    IN      AL,DX      ; al = lsr value
  4723.    TEST    AL,01      ; q. any data available?
  4724.    JZ      5019       ; a. no .. loop until ready
  4725.    SUB     DX,+05     ; dx -> data register
  4726.    IN      AL,DX      ; get the character
  4727.    RET                ; return w/al = character
  4728.                       ; enter a blank line to stop
  4729.    rdx                ; set dx ...
  4730.  
  4731.    :3f8 <== Note: This would be 3F8 for COM1, 2F8 for
  4732.             COM2, 3E8 for COM3, 2E8 for COM4!
  4733.  
  4734.    g=5000             ; start the program
  4735.    rip                ; IP = write address
  4736.    :100               ; .. address 100 hex
  4737.    w                  ; write out ZCOPY.COM
  4738.    q                  ; .. and back to DOS
  4739.    ^Z<CR>             ; (or use F6<CR>)
  4740.    A>debug <tmp.dbg
  4741.  
  4742.    Complete these steps before the next one... the
  4743.    receiving machine will wait for ZCOPY to be sent
  4744.    to it.
  4745.  
  4746. 4. On the machine sending ZCOPY, do the following:
  4747.  
  4748.    A>debug zcopy.com  ; bring in zcopy
  4749.    rdx                ; setup the comm port
  4750.  
  4751.    :3f8 <== Note: This would be 3F8 for COM1, 2F8 for
  4752.             COM2, 3E8 for COM3, 2E8 for COM4!
  4753.  
  4754.    g=103              ; call the self-transfer routine
  4755.                       ; (30-40 secs will pass)
  4756.    AX=00CC BX=0000 CX=0000 DX=03F8  SP=FFFE BP=0000 SI=1354 DI=0000
  4757.    DS=1FE1 ES=1FE1 SS=1FE1 CS=1FE1  IP=1353 NV UP EI PL NZ NA PO NC
  4758.    1FE1:1353 CC   INT 3
  4759.    q
  4760.    A>
  4761.  
  4762. ZCOPY is now on the receiving machine.
  4763.  
  4764.  
  4765.